Aller au contenu
Tout en local

JSON vers SQL CREATE TABLE

Convertissez un objet JSON ou un tableau d'objets JSON en une instruction SQL CREATE TABLE.

Entrée
Sortie

JSON vers SQL CREATE TABLE

Collez un objet JSON ou un tableau d'objets JSON et cet outil génère une instruction SQL CREATE TABLE prête à exécuter — pointez-la vers une réponse d'API d'exemple ou un enregistrement exporté et obtenez un schéma de démarrage au lieu de taper chaque colonne à la main.

Les types de colonne sont déduits à partir des valeurs réelles : les nombres entiers deviennent INTEGER, les nombres avec une partie décimale deviennent DECIMAL, vrai/faux deviennent BOOLEAN, les chaînes au format 2024-01-15 ou 2024-01-15T10:30:00Z deviennent DATE ou TIMESTAMP, et tout le reste devient VARCHAR avec une longueur estimée, ou TEXT au-delà de 255 caractères. Un champ marqué NOT NULL est un champ qui est présent et jamais nul dans chaque enregistrement collé ; un champ nommé id devient PRIMARY KEY. Choisissez un dialecte — ANSI SQL, MySQL, PostgreSQL, SQLite ou SQL Server — pour adapter les petites différences dans les noms de type. Les objets imbriqués peuvent être aplatis en colonnes avec préfixe (address.city devient address_city) ou conservés dans une seule colonne JSON, et « Convertir les noms en snake_case » transforme les clés JSON camelCase en noms de colonnes SQL conventionnels.

Avec plusieurs enregistrements, l'activation de « Ajouter les instructions INSERT » ajoute une instruction INSERT par enregistrement sous CREATE TABLE, en utilisant les mêmes colonnes déduites —utile pour ensemencer une base de données de test à partir d'une fixture JSON. L'inférence examine toujours chaque enregistrement fourni, pas seulement le premier, donc un champ présent seulement parfois reste correctement nullable plutôt que d'être mal deviné.

Tout s'exécute dans votre navigateur. Le JSON que vous collez et le schéma généré à partir de celui-ci ne sont jamais téléchargés nulle part —cela a de l'importance lorsque les données d'exemple proviennent d'une exportation de production. Copiez le résultat, téléchargez-le en tant que fichier .txt ou renvoyez la sortie à l'entrée pour continuer à affiner le schéma.

FAQ

Comment les types de colonne sont-ils décidés?
Chaque colonne est déduite de chaque valeur observée pour ce champ dans tous les enregistrements que vous avez collés — pas seulement le premier. Un champ avec des types mixtes (un nombre dans un enregistrement, une chaîne dans un autre) revient à une colonne de texte, car c'est le seul type qui peut contenir les deux en toute sécurité.
Que se passe-t-il pour un champ nommé "id"?
Une colonne nommée id (après la conversion snake_case, si elle est activée) devient PRIMARY KEY. La syntaxe d'auto-incrément ou d'identité diffère suffisamment entre les dialectes pour la laisser de côté — ajoutez-la vous-même une fois que vous avez choisi une stratégie.
Quelle est la différence entre les deux options d'objets imbriqués?
« Aplatir avec tiret bas » transforme un objet imbriqué comme address: { city } en une colonne address_city séparée. « Garder comme colonne JSON » stocke l'objet imbriqué entier comme une seule colonne JSON (ou texte) à la place. Les tableaux sont toujours conservés dans une seule colonne JSON/texte, car une seule ligne ne peut pas contenir une liste de longueur variable.
Peut-il générer des données à insérer ainsi que la table?
Oui. Activez « Ajouter les instructions INSERT » et, si vous avez collé un tableau d'objets, une instruction INSERT par enregistrement est ajoutée sous CREATE TABLE, en utilisant les colonnes et types déjà déduits.
Mon JSON est-il téléchargé quelque part?
Non. L'analyse, l'inférence de type et la génération de SQL s'exécutent localement dans votre navigateur — votre JSON et le schéma qui en est dérivé ne quittent jamais votre appareil.