Convertisseur JSON vers SQL INSERT

Convertissez des tableaux ou objets JSON en instructions SQL INSERT avec un échappement adapté au dialecte (MySQL, PostgreSQL, SQLite, SQL Server), sortie groupée ou par ligne, et inférence facultative de CREATE TABLE.

Mis à jour le

Share:
Home/Converter Tools/JSON to SQL INSERT Converter

JSON to SQL INSERT Converter

Convert JSON arrays or objects to SQL INSERT statements with dialect-aware quoting, schema inference, bulk or per-row output, and instant preview.

Options

JSON Input

SQL Output

0 rows
0 columns
MySQL
Bulk VALUES

Accepted input shapes

Array of objects: [{"a":1},{"a":2}]

Wrapped: {"data":[{"a":1},{"a":2}]}

Single object: {"a":1,"b":2} → one row.

Strings are wrapped in single quotes and escaped, numbers are emitted raw, booleans become 1/0 on MySQL/SQLite and TRUE/FALSE on PostgreSQL/SQL Server, ISO dates are quoted, and nested objects/arrays are serialized to JSON strings.

Questions Fréquentes

Qu'est-ce que le Convertisseur JSON vers SQL INSERT ?

Le Convertisseur JSON vers SQL INSERT est un outil en ligne gratuit qui convertit des tableaux ou objets JSON en instructions SQL INSERT avec un échappement adapté au dialecte (mysql, postgresql, sqlite, sql server), une sortie en masse ou par ligne, et une inférence facultative de CREATE TABLE. Il fonctionne intégralement dans votre navigateur, sans installation ni inscription.

Quels dialectes SQL sont pris en charge ?

MySQL, PostgreSQL, SQLite et SQL Server. L'échappement des identifiants change automatiquement (accents graves/guillemets doubles/crochets) et les booléens deviennent 1/0 ou TRUE/FALSE selon le dialecte.

Peut-il aussi générer CREATE TABLE ?

Oui. Activez Inclure CREATE TABLE pour inférer un schéma à partir des 100 premières lignes (INT, DECIMAL, BOOLEAN, DATETIME, VARCHAR(n) par paliers ou TEXT) avec détection des valeurs nullables.

Comment les chaînes, valeurs nulles et dates sont-elles échappées ?

Les chaînes sont entourées de guillemets simples avec l'échappement standard par guillemet doublé ou l'échappement classique par barre oblique inverse. Les valeurs nulles produisent NULL ou une chaîne vide. Les dates ISO-8601 sont détectées et entourées de guillemets en tant que DATETIME/TIMESTAMP.

Le Convertisseur JSON vers SQL INSERT est-il gratuit ?

Oui, le Convertisseur JSON vers SQL INSERT est 100 % gratuit, sans inscription, sans frais cachés et sans limite d'utilisation. Tout le traitement se fait localement dans votre navigateur, garantissant une confidentialité totale.

Mes données sont-elles en sécurité avec cet outil ?

Absolument. Le Convertisseur JSON vers SQL INSERT traite tout côté client, dans votre navigateur. Aucune donnée n'est envoyée ni stockée sur un serveur. Votre contenu reste privé sur votre appareil à tout moment.

Le Convertisseur JSON vers SQL INSERT fonctionne-t-il sur les appareils mobiles ?

Oui, le Convertisseur JSON vers SQL INSERT est entièrement responsive et fonctionne sur smartphones et tablettes. Vous pouvez l'utiliser sur n'importe quel appareil doté d'un navigateur web moderne, sans téléchargement d'application.

Dois-je créer un compte pour utiliser cet outil ?

Aucun compte ni inscription n'est nécessaire. Ouvrez simplement le Convertisseur JSON vers SQL INSERT dans votre navigateur et commencez à l'utiliser immédiatement. Il n'y a ni page d'inscription ni restriction d'utilisation.

Comment utiliser le Convertisseur JSON vers SQL INSERT ?

Saisissez simplement votre contenu dans le champ prévu, ajustez les paramètres selon vos préférences, et l'outil le traitera instantanément. Vous pouvez ensuite copier le résultat dans le presse-papiers ou le télécharger.

Quels navigateurs sont pris en charge ?

Le Convertisseur JSON vers SQL INSERT fonctionne dans tous les navigateurs modernes, dont Chrome, Firefox, Safari, Edge et Opera. Pour une expérience optimale, utilisez la dernière version de votre navigateur préféré.

Quelle est la différence entre un INSERT groupé et une instruction INSERT par ligne ?

Une insertion groupée liste toutes les lignes dans une seule instruction — INSERT INTO table (cols) VALUES (...), (...), (...); — de sorte que toutes les lignes se chargent en un seul aller-retour. C'est plus compact et généralement la façon la plus rapide d'alimenter une table, ce qui explique pourquoi ce convertisseur l'utilise par défaut. Le style ligne par ligne génère une instruction distincte INSERT INTO ... VALUES (...); pour chaque enregistrement. Cette sortie est plus longue mais plus facile à lire, à comparer (diff) dans un système de version, ou à exécuter partiellement lorsque vous ne voulez appliquer que certaines lignes ou ignorer un enregistrement en erreur. Les deux styles produisent des données identiques ; le choix relève de la vitesse d'exécution face au contrôle fin. Certains clients de bases de données limitent aussi le nombre de lignes qu'une seule instruction peut contenir, donc la sortie ligne par ligne contourne cette limite. Basculez entre les deux avec le sélecteur de style d'instruction, et le SQL se régénère instantanément.

Comment le convertisseur gère-t-il les apostrophes et les guillemets à l'intérieur des valeurs texte ?

Les guillemets simples dans un texte sont la cause classique de scripts INSERT cassés — un nom comme O'Brien fermerait autrement la chaîne prématurément et corromprait l'instruction. Cet outil les échappe automatiquement. En mode standard (par défaut), chaque guillemet simple intégré est doublé, de sorte que O'Brien devient 'O''Brien', ce qui est du SQL ANSI valide accepté par MySQL, PostgreSQL, SQLite et SQL Server. Si votre moteur attend plutôt l'échappement legacy par barre oblique inverse, passez en mode backslash et la même valeur devient 'O\'Brien', avec les barres obliques inverses littérales également échappées. Les identifiants de colonnes et de tables ont leur propre système de guillemets — accents graves, guillemets doubles ou crochets selon le dialecte — et tout caractère de guillemet à l'intérieur de ces noms est également échappé. Résultat : des données réelles désordonnées, avec apostrophes, guillemets et caractères spéciaux, se convertissent en un script exécutable sans nettoyage manuel.

Que se passe-t-il quand les objets de mon tableau JSON n'ont pas les mêmes clés ?

Les exports réels sont souvent irréguliers — un enregistrement a un champ téléphone, le suivant non. Ce convertisseur gère cela en prenant l'union de toutes les clés sur l'ensemble des lignes, listées dans l'ordre de première apparition, et en utilisant cet ensemble combiné comme liste de colonnes. Toute ligne à laquelle il manque une clé donnée reçoit NULL (ou une chaîne vide, selon votre réglage de gestion des valeurs nulles) pour cette colonne, de sorte que chaque tuple VALUES reste aligné avec l'en-tête de colonnes. Cela signifie que des objets partiels ou incohérents s'alignent quand même dans une table propre au lieu d'échouer. Le seul cas rejeté est celui où un élément du tableau n'est pas un objet du tout — un simple nombre, une chaîne ou un tableau imbriqué. Dans ce cas, l'outil s'arrête et indique l'index exact afin que vous puissiez corriger la source. Collez votre JSON hétérogène et l'union des colonnes est construite automatiquement pour vous.

Comment les objets et tableaux imbriqués dans mon JSON sont-ils convertis en SQL ?

Les colonnes relationnelles contiennent des valeurs scalaires, donc un objet ou un tableau imbriqué ne peut pas être mappé directement sur une colonne normale. Lorsque le convertisseur rencontre une valeur qui est elle-même un objet ou un tableau, il la sérialise en une chaîne JSON compacte et l'insère comme une valeur texte entre guillemets, avec le même échappement que pour toute autre chaîne. Ainsi, un champ comme {"tags":["a","b"]} devient la chaîne littérale '["a","b"]' dans l'INSERT. Si vous générez également un CREATE TABLE, ces colonnes sont typées en TEXT (ou NVARCHAR(MAX) sur SQL Server) pour contenir le JSON sérialisé. Cela préserve l'intégrité et l'exécutabilité de vos données, mais cela n'aplatit pas les structures imbriquées en colonnes séparées ou en tables liées — cette normalisation est une décision de conception qui vous revient. Pour les colonnes JSON ou JSONB de Postgres, collez le texte généré et ajustez le type de colonne en conséquence.

Pourquoi le même JSON produit-il une sortie différente pour MySQL et pour PostgreSQL ?

Chaque base de données a ses propres règles pour les identifiants et certains types de valeurs, et un script écrit pour un moteur échoue souvent sur un autre. Ce convertisseur ajuste la sortie selon le dialecte pour qu'elle s'exécute telle quelle. Les guillemets d'identifiants changent : MySQL entoure les noms de tables et de colonnes d'accents graves, PostgreSQL et SQLite utilisent des guillemets doubles, et SQL Server utilise des crochets. Les valeurs booléennes diffèrent aussi — true et false deviennent 1 et 0 sur MySQL et SQLite, mais TRUE et FALSE sur PostgreSQL et SQL Server. Les types déduits pour CREATE TABLE varient également, comme TINYINT(1) pour un booléen MySQL contre un BOOLEAN natif sur Postgres, ou NVARCHAR sur SQL Server contre VARCHAR ailleurs. L'échappement des chaînes reste en ANSI standard par défaut sur les quatre dialectes. Choisissez votre cible dans le sélecteur de dialecte avant de copier, afin que les instructions correspondent à la base de données dans laquelle vous chargez les données.

À propos du convertisseur JSON vers SQL INSERT

Le convertisseur JSON vers SQL INSERT transforme un tableau ou un objet JSON en instructions SQL INSERT prêtes à l'emploi. Collez vos données, choisissez un dialecte de base de données, et l'outil génère le script INSERT INTO ... VALUES — avec, si vous le souhaitez, un CREATE TABLE assorti — que vous pouvez copier ou télécharger sous forme de fichier .sql. Il s'adresse aux développeurs backend, aux data engineers et à toute personne qui alimente une base de données, charge des réponses d'API dans des tables ou migre des données sans vouloir écrire à la main de fastidieux scripts d'insertion.

Tout se passe localement dans votre navigateur. Votre JSON est analysé et converti sur votre propre appareil, si bien que les données sensibles — lignes clients, exports internes, données de staging — ne sont jamais envoyées vers un serveur. Pas d'inscription, pas de plafond de lignes, rien à installer.

Quel type d'entrée il accepte

Le convertisseur reconnaît trois formes de JSON, ce qui couvre la plupart des exports tels quels :

  • Un tableau d'objets[{"id":1},{"id":2}], le cas le plus courant, avec une ligne par objet.
  • Un tableau enveloppé — un objet contenant une propriété data, comme {"data":[...]}, format renvoyé par de nombreuses API.
  • Un objet unique{"a":1,"b":2} devient une insertion d'une seule ligne.

Les noms de colonnes proviennent des clés, et l'outil prend l'union des clés de toutes les lignes, dans l'ordre de première apparition, de sorte que des objets aux champs légèrement différents s'alignent quand même correctement. Si un élément du tableau n'est pas un objet, l'outil signale l'index exact afin que vous puissiez corriger la donnée source.

Un SQL adapté à chaque dialecte

La mise entre guillemets et le formatage des valeurs ne sont pas universels, et une erreur à ce niveau casse le script. Ce convertisseur ajuste sa sortie pour quatre bases de données :

  • Guillemets d'identifiants — accents graves pour MySQL, guillemets doubles pour PostgreSQL et SQLite, crochets pour SQL Server, avec échappement sécurisé des caractères de guillemet intégrés.
  • Booléens — restitués en 1/0 sur MySQL et SQLite, et en TRUE/FALSE sur PostgreSQL et SQL Server.
  • Chaînes de caractères — entourées de guillemets simples, avec un doublement standard des guillemets en SQL par défaut, ou un échappement par barre oblique inverse (legacy) si votre moteur l'exige.
  • Nombres, valeurs nulles et dates — les nombres sont restitués tels quels, les valeurs nulles deviennent NULL ou une chaîne vide selon votre réglage, les horodatages ISO-8601 sont détectés et mis entre guillemets, et les objets ou tableaux imbriqués sont sérialisés en chaînes JSON.

Vous pouvez aussi choisir entre une seule instruction INSERT ... VALUES en bloc et une instruction séparée par ligne — le mode groupé est plus compact et plus rapide à exécuter, tandis que le mode ligne par ligne est plus facile à comparer (diff) ou à exécuter partiellement.

Générer un schéma CREATE TABLE

Activez Inclure CREATE TABLE et l'outil déduit un schéma en échantillonnant jusqu'aux 100 premières lignes. Il choisit un type adapté pour chaque colonne — INTEGER pour les nombres entiers, DECIMAL pour les valeurs décimales, un type booléen approprié au dialecte, DATETIME/TIMESTAMP pour les dates détectées, et un VARCHAR par palier de longueur (16, 32, 64, 128, 255, 500 ou 1000) qui bascule vers TEXT pour les chaînes longues. Les colonnes contenant une valeur nulle dans l'échantillon sont marquées comme nullables. Vous obtenez ainsi un point de départ exécutable pour une définition de table, même s'il reste conseillé de revoir les clés, les index et les types précis avant une mise en production.

Pourquoi un convertisseur JSON vers SQL est utile

Charger du JSON dans une base de données relationnelle à la main est lent et source d'erreurs : une simple apostrophe non échappée dans un nom comme O'Brien, ou un style de guillemets mal assorti, peut faire échouer tout un lot d'insertions. Le convertisseur JSON vers SQL INSERT gère l'échappement, les guillemets et le formatage des types de façon cohérente, ce qui en fait un outil pratique pour alimenter des bases de test et de démonstration, importer des payloads d'API tierces, et prototyper des schémas rapidement. Un aperçu en direct affiche les premières lignes ainsi que le nombre de lignes et de colonnes, pour que vous puissiez vérifier le résultat avant de l'exécuter. Collez votre JSON ci-dessus pour générer, en quelques secondes, un SQL propre et conforme au dialecte choisi.