JSON vers SQL

Transformez un tableau JSON en CREATE TABLE aux types déduits et en INSERT groupés — pour PostgreSQL, MySQL, SQLite ou SQL Server.

JSON vers SQL fonctionne entièrement dans votre navigateur. Vos données sont converties sur votre appareil et jamais envoyées.

Ouvrir le convertisseur CSV vers SQL

À propos de JSON vers SQL

JSON vers SQL prend un tableau d’objets — réponse d’API, export, fichier de test — et produit les deux instructions qui l’amènent en base : un CREATE TABLE dont les types de colonnes sont déduits de toutes les valeurs de chaque colonne, et des INSERT regroupés en listes VALUES multi-lignes. La déduction est faite proprement : les entiers au-delà de 32 bits deviennent BIGINT, les chaînes au format ISO deviennent TIMESTAMP, les colonnes mixtes se replient sûrement sur TEXT, et chaque type canonique s’écrit dans l’orthographe du dialecte — BOOLEAN arrive en TINYINT(1) chez MySQL et en BIT chez SQL Server. Les détails qui cassent les scripts manuels sont précisément la cible : identifiants entre guillemets par dialecte pour qu’une colonne order ne heurte jamais le mot-clé, apostrophes doublées pour qu’O’Brien survive, clés absentes en NULL et objets imbriqués sérialisés en texte JSON.

Fonctionnalités

Comment utiliser JSON vers SQL

  1. Collez un tableau JSON d’objets
  2. Nommez la table et choisissez le dialecte
  3. Ajustez les lignes par INSERT au besoin
  4. Copiez le SQL — les types s’affichent d’abord pour relecture

Exemple

Entrée

[{"id":1,"name":"O'Brien","active":true}]

Sortie

CREATE TABLE "users" ("id" INTEGER, "name" TEXT, "active" BOOLEAN);
INSERT INTO "users" ("id", "name", "active") VALUES (1, 'O''Brien', TRUE);

L’apostrophe doublée d’O’’Brien est ce qui garde le script valide.

Erreurs courantes et dépannage

Foire aux questions

Comment les types de colonnes sont-ils déduits du JSON ?
Chaque valeur de la colonne vote : les entiers donnent INTEGER (BIGINT au-delà de 32 bits), tout décimal impose DOUBLE PRECISION, true/false donnent BOOLEAN, les chaînes datées ISO donnent TIMESTAMP, et tout conflit finit en TEXT. Toutes les lignes sont examinées.
Que change-t-il entre les dialectes SQL ?
Les guillemets d’identifiants (doubles, accents graves, crochets), l’orthographe des types (BOOLEAN contre TINYINT(1) contre BIT), les littéraux booléens (TRUE contre 1) et le préfixe N que SQL Server veut sur le texte Unicode.
Que deviennent les objets aux clés différentes ?
Les colonnes sont l’union des clés de toutes les lignes, dans l’ordre d’apparition ; les lignes sans une clé y insèrent NULL. C’est ainsi que les données hétérogènes d’API doivent en général atterrir en table.
Le script généré est-il prêt pour la production ?
Il est prêt à importer : guillemets sûrs et types sensés. Une table de production mérite encore clé primaire, NOT NULL et index — qu’aucune déduction ne peut deviner des données.

Outils associés

Tous les outils ArrayKit