Skip to main content
CheckTown
Converters

JSON naar SQL-converter: INSERT-instructies genereren

Gepubliceerd 5 min lezen
In dit artikel

Waarom JSON naar SQL converteren?

JSON is het standaardformaat voor APIs, configuratiebestanden en gegevensuitwisseling, maar relationele databases spreken SQL. Wanneer u JSON-gegevens moet importeren in MySQL, PostgreSQL, SQLite of SQL Server, hebt u INSERT-instructies nodig. Handmatig SQL schrijven voor honderden of duizenden records is omslachtig en foutgevoelig.

Een JSON naar SQL-converter automatiseert dit door uw JSON-structuur te analyseren, kolomtypen af te leiden en geldige INSERT-instructies te genereren die klaar zijn om uit te voeren. Dit is handig voor het vullen van ontwikkelingsdatabases, het migreren van gegevens tussen systemen en het importeren van API-antwoorden in een relationele database voor analyse.

Hoe de converter werkt

De converter analyseert uw JSON-array van objecten en transformeert elk object in een SQL INSERT-instructie met correct typegebruik.

  • Structuuranalyse -- onderzoekt alle objecten om de volledige set sleutels te verzamelen, aangezien verschillende objecten verschillende eigenschappen kunnen hebben
  • Typedetectie -- leidt SQL-kolomtypen af uit de JSON-waarden: strings worden VARCHAR of TEXT, getallen worden INT of DECIMAL, booleans worden BOOLEAN en null-waarden worden bewaard als NULL
  • SQL-generatie -- produceert INSERT INTO-instructies met correct geciteerde waarden, ge-escapete strings en correcte NULL-afhandeling voor het doeldatabasedialect

Probeer gratis — geen aanmelding vereist

JSON naar SQL converteren →

Opties uitgelegd

De converter biedt verschillende opties om de gegenereerde SQL-uitvoer te beheren voor verschillende databasesystemen en gebruikssituaties.

  • CREATE TABLE -- genereert optioneel een CREATE TABLE-instructie met afgeleide kolomtypen voor de INSERT-instructies, handig om de tabel te maken en gegevens te importeren in een stap
  • Batch INSERT -- groepeert meerdere rijen in een enkele INSERT-instructie met multi-waarde-syntax voor betere prestaties bij het importeren van grote datasets
  • Identifier-quoting -- beheert hoe tabel- en kolomnamen worden geciteerd: backticks voor MySQL, dubbele aanhalingstekens voor PostgreSQL en standaard SQL, of vierkante haken voor SQL Server
  • Tabelnaam -- laat u de doeltabelnaam opgeven in plaats van een standaard te gebruiken, zodat de gegenereerde SQL klaar is om uit te voeren tegen uw werkelijke databaseschema

Veelgestelde vragen

Hoe mapt de converter JSON-typen naar SQL-typen?

JSON-strings worden gemapt naar VARCHAR(255) of TEXT afhankelijk van lengte. JSON-getallen worden gemapt naar INT voor gehele getallen en DECIMAL voor getallen met decimalen. JSON-booleans worden gemapt naar BOOLEAN (of TINYINT(1) voor MySQL). JSON null-waarden produceren NULL in de SQL-uitvoer. Geneste objecten en arrays worden geserialiseerd als JSON-strings in de SQL-kolom.

Hoe worden NULL-waarden afgehandeld?

JSON null-waarden en ontbrekende sleutels produceren beide SQL NULL-waarden in de INSERT-instructies. De converter controleert elk object op ontbrekende eigenschappen en vult ze met NULL om ervoor te zorgen dat alle INSERT-instructies hetzelfde aantal kolommen hebben. Dit komt overeen met standaard SQL-gedrag waarbij NULL betekent dat de waarde onbekend of niet van toepassing is.

Hoe worden strings met speciale tekens ge-escapet?

Strings met enkele aanhalingstekens worden ge-escapet door het aanhalingsteken te verdubbelen ('O''Brien'). Backslashes, regeleinden en andere speciale tekens worden afgehandeld volgens het doel-SQL-dialect. Dit voorkomt SQL-injectie in de gegenereerde instructies en zorgt ervoor dat de SQL syntactisch geldig is.

Kan het geneste JSON-objecten verwerken?

Geneste objecten en arrays binnen uw JSON-gegevens worden geserialiseerd als JSON-strings in de overeenkomstige SQL-kolom. Als u geneste gegevens in aparte tabellen met foreign key-relaties nodig hebt, moet u eerst de JSON-structuur afvlakken of een meer gespecialiseerde ETL-tool gebruiken. De converter verwerkt een niveau van objecten naar SQL-rijen-mapping.

Gerelateerde Tools