Skip to main content
CheckTown
Convertisseurs

Convertisseur JSON en SQL : generer des instructions INSERT

Publié le 5 min de lecture
Dans cet article

Pourquoi convertir JSON en SQL ?

JSON est le format standard pour les API, les fichiers de configuration et l'echange de donnees, mais les bases de donnees relationnelles parlent SQL. Quand vous devez importer des donnees JSON dans MySQL, PostgreSQL, SQLite ou SQL Server, vous avez besoin d'instructions INSERT. Ecrire manuellement du SQL pour des centaines ou milliers d'enregistrements est fastidieux et sujet aux erreurs.

Un convertisseur JSON en SQL automatise cela en analysant votre structure JSON, inferant les types de colonnes et generant des instructions INSERT valides pretes a etre executees. C'est utile pour alimenter des bases de donnees de developpement, migrer des donnees entre systemes et importer des reponses d'API dans une base de donnees relationnelle pour analyse.

Comment fonctionne le convertisseur

Le convertisseur analyse votre tableau JSON d'objets et transforme chaque objet en une instruction SQL INSERT avec un typage correct.

  • Analyse de structure -- examine tous les objets pour collecter l'ensemble complet des cles, car differents objets peuvent avoir des proprietes differentes
  • Detection de type -- infere les types de colonnes SQL a partir des valeurs JSON : les chaines deviennent VARCHAR ou TEXT, les nombres deviennent INT ou DECIMAL, les booleens deviennent BOOLEAN et les valeurs null sont preservees comme NULL
  • Generation SQL -- produit des instructions INSERT INTO avec des valeurs correctement quotees, des chaines echappees et une gestion NULL correcte pour le dialecte de base de donnees cible

Essayez gratuitement — sans inscription

Convertir JSON en SQL →

Options expliquees

Le convertisseur fournit plusieurs options pour controler la sortie SQL generee pour differents systemes de bases de donnees et cas d'utilisation.

  • CREATE TABLE -- genere optionnellement une instruction CREATE TABLE avec des types de colonnes inferes avant les instructions INSERT, utile pour creer la table et importer les donnees en une seule etape
  • INSERT par lot -- regroupe plusieurs lignes dans une seule instruction INSERT en utilisant la syntaxe multi-valeurs pour de meilleures performances lors de l'import de grands ensembles de donnees
  • Quotation des identifiants -- controle comment les noms de tables et de colonnes sont quotes : accents graves pour MySQL, guillemets doubles pour PostgreSQL et SQL standard, ou crochets pour SQL Server
  • Nom de table -- vous permet de specifier le nom de la table cible au lieu d'utiliser un defaut, afin que le SQL genere soit pret a etre execute sur votre schema de base de donnees reel

Questions frequemment posees

Comment le convertisseur mappe-t-il les types JSON vers les types SQL ?

Les chaines JSON sont mappees a VARCHAR(255) ou TEXT selon la longueur. Les nombres JSON sont mappes a INT pour les entiers et DECIMAL pour les nombres a virgule. Les booleens JSON sont mappes a BOOLEAN (ou TINYINT(1) pour MySQL). Les valeurs JSON null produisent NULL dans la sortie SQL. Les objets et tableaux imbriques sont serialises en chaines JSON dans la colonne SQL.

Comment les valeurs NULL sont-elles gerees ?

Les valeurs JSON null et les cles manquantes produisent toutes deux des valeurs SQL NULL dans les instructions INSERT. Le convertisseur verifie chaque objet pour les proprietes manquantes et les remplit avec NULL pour s'assurer que toutes les instructions INSERT ont le meme nombre de colonnes. Cela correspond au comportement SQL standard ou NULL signifie que la valeur est inconnue ou non applicable.

Comment les chaines avec des caracteres speciaux sont-elles echappees ?

Les chaines contenant des guillemets simples sont echappees en doublant le caractere de guillemet ('O''Brien'). Les barres obliques inverses, les retours a la ligne et d'autres caracteres speciaux sont geres selon le dialecte SQL cible. Cela empeche l'injection SQL dans les instructions generees et assure que le SQL est syntaxiquement valide.

Peut-il gerer des objets JSON imbriques ?

Les objets et tableaux imbriques dans vos donnees JSON sont serialises en chaines JSON dans la colonne SQL correspondante. Si vous avez besoin de donnees imbriquees dans des tables separees avec des relations de cles etrangeres, vous devrez d'abord aplatir la structure JSON ou utiliser un outil ETL plus specialise. Le convertisseur gere un niveau de mapping objets vers lignes SQL.

Outils associés