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.