À propos de cet outil
L'outil JSON vers SQL CREATE TABLE lit un tableau JSON d'objets (ou un objet unique) et infère une définition de table SQL correspondante, en choisissant le type de chaque colonne à partir des valeurs qu'il rencontre réellement. Il s'exécute entièrement dans votre navigateur — le JSON est analysé avec le JSON.parse natif et ne quitte jamais votre appareil — de sorte que vous pouvez coller un dump d'API ou un export de base de données et créer une table en une seule étape.
Les types de colonnes sont inférés par champ sur chaque ligne : les valeurs toutes entières deviennent INT (BIGINT quand une valeur dépasse 2 147 483 647), les nombres avec décimales deviennent DECIMAL(p,s) dimensionné selon les plus grands nombres de chiffres entiers et fractionnaires que vous avez fournis (ou DOUBLE / REAL quand vous choisissez le mode flottant), les booléens correspondent à TINYINT(1)/BOOLEAN, les chaînes ISO 8601 correspondent à DATETIME ou DATE, les objets et tableaux imbriqués deviennent JSON/JSONB, et les chaînes restantes deviennent VARCHAR(N) où N est la puissance de deux suivante au-dessus de la valeur la plus longue (TEXT une fois que cela dépasse 255). Une colonne qui est null ou manquante dans une ligne est laissée NULLABLE ; sinon elle est NOT NULL. Une colonne unique, non null nommée id ou uuid est promue en PRIMARY KEY, avec AUTO_INCREMENT / SERIAL / AUTOINCREMENT ajouté pour les clés entières.
Une bascule de dialecte réécrit les types pour MySQL, PostgreSQL (SERIAL, JSONB, TIMESTAMP, DOUBLE PRECISION) ou SQLite (affinités INTEGER / REAL / TEXT) et met les identifiants entre les bons délimiteurs (accents graves pour MySQL, guillemets doubles ailleurs). Activez l'option INSERT pour émettre aussi une instruction INSERT par ligne, avec les chaînes, booléens, nombres et valeurs JSON échappés et mis entre guillemets pour le dialecte choisi.