Convertisseur JSON vers SQL

Convertissez du JSON en instructions SQL INSERT et en CREATE TABLE facultatif pour MySQL, PostgreSQL, SQLite ou SQL Server, avec guillemets et échappements corrects. Gratuit.

S'exécute entièrement dans votre navigateur. Vos données ne sont jamais envoyées.

Outils Connexes

Voir Tout

Qu'est-ce que JSON vers SQL ?

Transforme un tableau JSON d'objets en SQL : un CREATE TABLE facultatif avec types de colonnes déduits, suivi d'instructions INSERT. Les identifiants et les chaînes sont mis entre guillemets et échappés pour le dialecte choisi.

Comment utiliser JSON vers SQL

  1. Collez du JSON dans la zone Entrée JSON, ou utilisez Charger un exemple ou Ouvrir un fichier.
  2. Choisissez le Dialecte SQL et saisissez le Nom de la table.
  3. Activez ou non Inclure CREATE TABLE et INSERT multi-lignes.
  4. La sortie SQL se met à jour pendant la saisie ; utilisez Copier ou Télécharger.

Exemple

Entrée
[{"id":1,"name":"O'Brien"}]
Sortie
CREATE TABLE `my_table` (
  `id` INT,
  `name` VARCHAR(255)
);

INSERT INTO `my_table` (`id`, `name`) VALUES
  (1, 'O''Brien');

Quand utiliser JSON vers SQL

Utilisez-le pour alimenter une base de données à partir d'exports JSON, de jeux de test ou de données d'API. Relisez les types de colonnes générés et ajoutez vous-même clés primaires, NOT NULL et index : ils ne peuvent pas être déduits d'un exemple de données.

Comment fonctionne JSON vers SQL

Les colonnes forment l'union de toutes les clés d'objet. Le type de chaque colonne est déduit de ses valeurs non nulles : entiers → INT/INTEGER (BIGINT au-delà de 32 bits), décimaux → DOUBLE / DOUBLE PRECISION / REAL / FLOAT, booléens → BOOLEAN (BIT dans SQL Server, INTEGER dans SQLite), chaînes → VARCHAR(255) ou TEXT/NVARCHAR(MAX) selon la longueur, objets/tableaux imbriqués → JSON/JSONB ou texte. Les identifiants utilisent des accents graves (MySQL), des guillemets doubles (PostgreSQL, SQLite) ou des crochets (SQL Server). Les chaînes doublent leurs apostrophes ; MySQL échappe aussi les barres obliques inverses, et SQL Server utilise N'…' pour le texte non ASCII. Les INSERT multi-lignes sont découpés en blocs de 1000 lignes pour SQL Server.

Cas d'utilisation courants

  • Alimenter une base de développement à partir d'un jeu de test JSON
  • Importer des données d'API dans PostgreSQL
  • Créer rapidement une table SQLite à partir de JSON pour l'analyse
  • Générer des instructions INSERT pour un script de migration

Questions Fréquentes

Le SQL est-il à l'abri de l'injection ?

Toutes les valeurs de chaîne sont échappées pour le dialecte choisi, mais relisez toujours le SQL généré avant de l'exécuter sur des données de production.

Comment les objets imbriqués sont-ils stockés ?

Sous forme de texte JSON dans une colonne JSON (MySQL), JSONB (PostgreSQL) ou texte.

Pourquoi SQL Server produit-il plusieurs instructions INSERT ?

SQL Server n'autorise pas plus de 1000 lignes dans une même liste VALUES : les entrées plus grandes sont donc découpées.

Étapes suivantes conseillées

Explorer d'autres catégories