JSON naar SQL
Gratis online JSON naar SQL converter. Converteert JSON-arrays naar INSERT-instructies en genereert optioneel DDL CREATE TABLE-scripts. Compatibel met MySQL, PostgreSQL, SQLite, SQL Server en meer dan 20 SQL-dialecten met automatische type-inferentie. 100% verwerking in de browser.
Gerelateerde aanbevelingen
Over JSON naar SQL: JSON-gegevens verplaatsen naar relationele databases
JSON naar SQL is het proces van het converteren van JSON-geformatteerde gegevens (JSON-arrays of JSON-objecten) naar SQL-scripts die een relationele database kan uitvoeren, specifiek INSERT-instructies en CREATE TABLE-instructies. JSON (JavaScript Object Notation) is een lichtgewicht gegevensuitwisselingsformaat dat overal wordt gebruikt: REST-API's, frontend-naar-backend transport, configuratiebestanden, logboeken. Relationele databases (MySQL, PostgreSQL, SQLite, SQL Server, Oracle, enz.) vormen de ruggengraat van enterprise gegevensopslag, maar vereisen strikte tabelstructuren en SQL-instructies om gegevens op te slaan en te bevragen. Het verplaatsen van gegevens van JSON naar een relationele database vereist daarom het omzetten van de JSON naar een SQL-script.
In de kern zet de tool elk object van een JSON-array om in één rij databasegegevens. Een enkel object wordt behandeld als één rij en elk element van een JSON-array wordt één rij. Objectsleutels worden kolomnamen en waarden worden vertaald naar het overeenkomstige SQL-literal. De hele conversie draait lokaal in de browser, zonder backend.
Type-inferentie is de centrale technische uitdaging van JSON naar SQL. JSON heeft slechts zes primitieve types (null, boolean, number, string, array, object), terwijl SQL er tientallen heeft (INT, BIGINT, FLOAT, DOUBLE, VARCHAR, TEXT, DATE, TIMESTAMP, BOOLEAN, BIT, enz.). De detectType-functie van deze tool bekijkt de letterlijke vorm van elke waarde: null wordt toegewezen aan SQL NULL; true/false aan BOOLEAN; gehele getallen aan INT (bereik -2.147.483.648 tot 2.147.483.647) of BIGINT; zwevendekommagetallen aan FLOAT/DOUBLE/REAL afhankelijk van het dialect; ISO 8601-datum- en tijdstempel-tekenreeksen aan DATE en TIMESTAMP; korte tekenreeksen aan VARCHAR(255); tekenreeksen langer dan 255 tekens aan TEXT.
De tool implementeert een type-promotie-algoritme: wanneer het bestaande type van een kolom conflicteert met een nieuwe waarde, wordt het gepromoveerd naar het breedste type dat beide dekt (bijvoorbeeld INT wordt FLOAT). NULL is niet betrokken bij deze beslissing, dus het afgeleide type blijft stabiel. Omdat het uiteindelijke kolomtype wordt beslist nadat alle rijen zijn verwerkt, is het resultaat het wereldwijd optimale type voor de dataset.
Dialectverschillen worden gecentraliseerd in DIALECT_CONFIG. MySQL omhult identificatoren met backticks (`name`), PostgreSQL en standaard SQL gebruiken dubbele aanhalingstekens ("name"), SQL Server gebruikt vierkante haken ([name]). SQLite heeft geen native BOOLEAN-type, dus wordt 1/0 gebruikt. BigQuery gebruikt INT64 voor gehele getallen en STRING voor tekst. Snowflake gebruikt NUMBER voor gehele getallen en TIMESTAMP_NTZ voor tijdstempels. Oracle gebruikt VARCHAR2 en NUMBER(1) voor booleans. DB2 slaat tekst op in CLOB. De tool past identificatietekens, datatypes en booleaanse voorstellingen aan aan het door de gebruiker gekozen dialect.
CREATE TABLE-generatie bouwt voort op type-inferentie. Wanneer de gebruiker "Genereer CREATE TABLE" in de instellingen inschakelt, geeft de tool een CREATE TABLE-instructie uit vóór het INSERT-blok. De tabelnaam komt uit de gebruikersinvoer (standaard `users`); kolomnamen komen uit de JSON-objectsleutels; kolomtypes komen uit de afgeleide SQL-types. Voor dialecten die IF NOT EXISTS ondersteunen, wordt de clausule automatisch toegevoegd om fouten bij hercreatie te voorkomen; voor dialecten die dit niet ondersteunen (Oracle PL/SQL, SQL Server T-SQL) wordt deze weggelaten voor compatibiliteit. CREATE TABLE en INSERT samen vormen een volledig initialisatiescript dat in een lege database in één run kan worden uitgevoerd.
Bulkinsert is de sleutel tot prestaties. Het converteren van 10.000 JSON-rijen naar 10.000 afzonderlijke INSERT-instructies is pijnlijk traag. De tool ondersteunt een configureerbare batchgrootte (standaard 100, bereik 1-1000) en voegt meerdere rijen samen in één INSERT met multivalue tuples (VALUES (1,2), (3,4), ...). Dit vermindert het aantal instructies drastisch en levert 10 tot 100 keer hogere importperformance op de meeste engines. De batchgrootte moet worden afgestemd op elke database en server, omdat een te grote batch de max_allowed_packet op MySQL kan overschrijden.
JSON-fouttolerantie is een praktische functie. De tool bevat een tryFixJSON-reparatieroutine die wordt uitgevoerd wanneer JSON.parse faalt; als de reparatie slaagt, wordt de gebruiker op de hoogte gebracht en gaat de conversie door. Dit verbetert het praktische succespercentage drastisch en vermijdt eindeloos heen-en-weer gedoe voor kleine fouten. Alle verwerking is client-side: er wordt nooit iets naar een server gestuurd, wat elk lekrisico elimineert en de conversie vrijwel direct maakt voor middelgrote gegevens (minder dan 10 MB).
Toepassingsgevallen
- Converteer API-respons-JSON naar INSERT-instructies om gegevens bulksgewijs te importeren in MySQL, PostgreSQL of andere relationele databases voor analyse.
- Genereer CREATE TABLE DDL vanuit een JSON-configuratie of datadictionary bij het initialiseren van het schema van een nieuw project.
- Converteer frontend-mock-JSON of testfixtures naar SQL-scripts om ontwikkel-, staging- of QA-databaseomgevingen te seeden.
- Gegevensmigratie: transformeer JSON-export van MongoDB, Elasticsearch of documentstores naar SQL-scripts voor relationele doelen.
- ETL-preprocessing: normaliseer upstream JSON-payloads naar standaard INSERT-instructies die downstream-pipelines direct kunnen verwerken.
- Back-up en herstel: bewaar kritieke bedrijfsgegevens in draagbaar JSON-formaat en genereer SQL-scripts op aanvraag voor snel herstel.
- Samenwerking tussen teams: spreek een JSON-contract af en laat de backend met één klik zowel de schema-DDL als de seed-INSERT-scripts genereren.
- Onderwijs en demo's: begeleid leerlingen door hoe JSON-gegevens naar SQL-instructies worden vertaald, met illustratie van type-inferentie en bulkinsert-mechaniek.
Hoe te gebruiken
- Plak een JSON-array of -object in de linker editor, klik op Upload om een .json/.txt-bestand te laden, of klik op Voorbeeld om de ingebouwde demo te laden.
- Kies het doel-SQL-dialect uit de dropdown in de werkbalk (MySQL, PostgreSQL, SQLite, SQL Server en meer dan 20 andere).
- Klik op Instellingen om de tabelnaam te configureren, of CREATE TABLE moet worden uitgevoerd, en de bulkinsert-grootte (1-1000 rijen per INSERT).
- Klik op Converteren (of gebruik de sneltoets) om de JSON te parseren, types af te leiden en de SQL in het rechterpaneel weer te geven.
- Inspecteer de gegenereerde SQL en de rij-/kolomtotalen in de statusbalk om de gegevensintegriteit te verifiëren.
- Klik op Kopiëren om de SQL op het klembord te plaatsen, of klik op Downloaden om het op te slaan als een .sql-bestand (bijvoorbeeld users.sql).
- Voer de SQL uit in je favoriete databaseclient (Navicat, DBeaver, pgAdmin, MySQL Workbench) om de gegevensimport te voltooien.
Functies
- Bulk INSERT-generatie: converteert JSON-arrays naar standaard INSERT INTO-instructies met configureerbare batchgrootte (1-1000 rijen per instructie).
- CREATE TABLE DDL-uitvoer: optioneel DDL-blok met automatisch afgeleide types (VARCHAR, INT, BIGINT, FLOAT, BOOLEAN, TIMESTAMP, DATE, TEXT).
- 20+ SQL-dialecten: MySQL, PostgreSQL, SQLite, SQL Server, Oracle, DB2, BigQuery, Snowflake, Redshift, DuckDB, ClickHouse, Trino, Spark, Hive en meer.
- Slimme type-inferentie: detecteert null, booleans, gehele getallen, zwevendekommagetallen, ISO 8601-datums en korte of lange tekenreeksen en wijst elk toe aan het beste SQL-type.
- Ingebouwde SQL-formatter: aangedreven door sql-formatter, met trefwoorden in hoofdletters, nette inspring en duidelijke multivalue VALUES-blokken.
- JSON-zelfreparatie: corrigeert automatisch afsluitende komma's, enkele aanhalingstekens en ontbrekende sleutel-aanhalingstekens voor robuuste conversies.
- Type-promotielogica: conflicterende types tussen rijen worden gepromoveerd naar het breedste compatibele type (INT + FLOAT wordt FLOAT) zodat de DDL nooit gegevens afkapt.
- Aangepaste tabel- en kolomnamen: tabelnaam wordt de bestandsnaam (bijv. users.sql); kolomnamen volgen de sleutels van het JSON-object.
- Flexibele invoer: plak JSON, upload een .json/.txt-bestand of laad het ingebouwde voorbeeld met één klik.
- Live rij- en kolomaantallen: de statusbalk toont het totale aantal rijen en kolommen na de conversie voor snelle gegevensvalidatie.
- Kopiëren en downloaden: met één klik naar het klembord kopiëren of opslaan als standaard .sql-bestand klaar om in elke database te importeren.
- 100% in de browser: alle parsing en transformatie vinden plaats in client-side JavaScript; JSON verlaat nooit je apparaat.
Veelgestelde vragen
Hoe converteer ik een JSON-array naar SQL INSERT-instructies?
Plak de JSON-array in de linker editor en de tool converteert elk object naar een INSERT INTO-instructie. Objectsleutels worden kolomnamen en waarden worden automatisch tussen aanhalingstekens geplaatst of als cijfers behouden. De gegenereerde SQL kan direct worden gekopieerd en uitgevoerd in MySQL, PostgreSQL, SQLite of een andere ondersteunde databaseclient.
Kan de tool DDL CREATE TABLE-scripts genereren uit JSON?
Ja. Schakel "Genereer CREATE TABLE" in het instellingenpaneel in. De tool analyseert elk veld in de JSON, leidt het juiste SQL-datatype af (VARCHAR, INT, BIGINT, FLOAT, BOOLEAN, TIMESTAMP, DATE, TEXT, enz.) en geeft een volledige CREATE TABLE-instructie die samen met de INSERTs een kant-en-klaar initialisatiescript vormt.
Welke SQL-dialecten worden ondersteund?
De tool ondersteunt meer dan 20 gangbare SQL-dialecten, waaronder MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle PL/SQL, DB2, BigQuery, Snowflake, Redshift, DuckDB, ClickHouse, Trino, Spark SQL, Hive, TiDB, SingleStoreDB en N1QL. Identificatietekens (backticks, dubbele aanhalingstekens, vierkante haken), datatypes (INT64, NVARCHAR, CLOB, enz.) en booleaanse voorstellingen (TRUE/FALSE vs 1/0) worden automatisch per dialect aangepast.
Hoe leidt de tool SQL-types af uit JSON-waarden?
null wordt toegewezen aan SQL NULL; true/false aan BOOLEAN (1/0 of BIT voor SQLite/DB2/SQL Server); gehele getallen aan INT of BIGINT afhankelijk van het bereik (automatisch gepromoveerd naar BIGINT wanneer de absolute waarde 2.147.483.647 overschrijdt); zwevendekommagetallen aan FLOAT/DOUBLE/REAL per dialect; ISO 8601-datum- en tijdstempels worden herkend als DATE en TIMESTAMP; korte tekenreeksen als VARCHAR(255); tekenreeksen langer dan 255 tekens als TEXT. Conflicterende types tussen rijen worden automatisch gepromoveerd (bijv. INT + FLOAT wordt FLOAT).
Kan de gegenereerde SQL direct in mijn database worden uitgevoerd?
Ja. De gegenereerde SQL voldoet volledig aan de standaard van het gekozen dialect en kan worden uitgevoerd in MySQL Workbench, Navicat, DBeaver, pgAdmin, SQL Server Management Studio, phpMyAdmin of een ander databasebeheerprogramma. Gedownloade bestanden krijgen de tabelnaam als bestandsnaam (bijv. users.sql) voor eenvoudige batchimport.
Wat gebeurt er als mijn JSON syntaxfouten bevat?
Als de JSON afsluitende komma's, ontbrekende aanhalingstekens of enkele aanhalingstekens in plaats van dubbele bevat, roept de tool automatisch de ingebouwde tryFixJSON-reparatiefunctie aan en gaat door met de conversie. Als de reparatie faalt, toont het rechterpaneel de exacte foutlocatie en -oorzaak. Voor diep geneste of ernstig beschadigde JSON, gebruik eerst de tool JSON Formatter.
Ondersteunt de tool bulkinserties? Hoeveel rijen per INSERT?
Ja. Standaard groepeert elke INSERT 100 rijen, configureerbaar van 1 tot 1000. Het converteren van 10.000 JSON-rijen levert 100 multivalue INSERT-instructies op. Vergeleken met rij-voor-rij invoegen is de importperformance typisch 10 tot 100 keer hoger op MySQL, PostgreSQL en vergelijkbare engines.
Worden mijn JSON-gegevens naar een server geüpload?
Nee. Dit is een puur client-side applicatie. Alle JSON-analyse, type-inferentie en SQL-generatie vinden plaats in de JavaScript-engine van de browser; er wordt niets naar een server gestuurd. Bestandsuploads gebruiken de native FileReader API en alle gegevens worden uit het geheugen gewist wanneer de pagina wordt vernieuwd. Je kunt veilig JSON verwerken die persoonsgegevens of zakelijke geheimen bevat.
Worden ISO 8601-datumtekenreeksen automatisch gedetecteerd?
Ja. De tool herkent twee ISO 8601-patronen: tekenreeksen met de T-scheidingsteken (bijvoorbeeld 2024-05-20T10:30:00) worden toegewezen aan TIMESTAMP; tekenreeksen met alleen een datum (bijvoorbeeld 2024-05-20) aan DATE. Tekenreeksen die niet aan ISO 8601 voldoen (bijvoorbeeld 2024/05/20 of May 20, 2024) worden behandeld als gewone VARCHAR-waarden.
Hoe groot kan een JSON-bestand zijn dat de tool aankan?
Er is geen harde limiet; de praktische limiet is het browsergeheugen. Bestanden tot 10 MB (tienduizenden rijen) werken vlot. Grotere bestanden kunnen vertragen naarmate de geheugendruk toeneemt. Voor zeer grote datasets, splits ze in kleinere batches of schakel de optionele verfraaiingsstap in de SQL-formatter uit.
Wordt de gegenereerde SQL automatisch opgemaakt?
Ja. De tool gebruikt de sql-formatter-bibliotheek om de uitvoer te verfraaien: trefwoorden worden in hoofdletters gezet (SELECT, INSERT INTO, VALUES, CREATE TABLE), elk record staat op zijn eigen regel, de inspring is consistent en lege regels worden behouden voor leesbaarheid. Het resultaat is gemakkelijk te lezen in elke databaseclient en gemakkelijk daarna handmatig te bewerken.
Kan ik de kolomvolgorde van de gegenereerde INSERT bepalen?
Standaard gebruikt de tool de volgorde van sleutels in het eerste object van de JSON-array, waardoor de uitvoer met meerdere rijen uitgelijnd blijft. Als verschillende objecten verschillende sleutelvolgordes hebben, voegt de tool alle sleutels samen en ontdubbelt ze, en vult ontbrekende waarden in met NULL. Voor de beste resultaten normaliseer je de JSON met de tool JSON Formatter vóór de conversie.
Probleemoplossing
Het rechterpaneel toont alleen "No valid objects found in JSON".
Oorzaak 1: het JSON-topniveau is noch een array noch een object (bijvoorbeeld een losse string of getal), dus er is niets om in rijen te converteren. Oplossing: verpak de JSON in een array [{...}] of object {...}. Oorzaak 2: de array bevat primitieve waarden ([1, 2, 3]) in plaats van objecten, dus er zijn geen sleutelnamen om aan kolommen toe te wijzen. Oplossing: elk array-element moet een object zijn met sleutel-waardeparen. Oorzaak 3: de JSON kon niet worden geparst, tryFixJSON werd uitgevoerd, en het reparatieresultaat is nog steeds geen object. Oplossing: valideer de JSON met de tool JSON Formatter om het syntaxisprobleem te vinden.
De gegenereerde SQL geeft een syntaxisfout in mijn database.
Oorzaak 1: het verkeerde dialect is geselecteerd (bijvoorbeeld MySQL geselecteerd maar het doel is PostgreSQL), dus de stijl van het identificatieteken komt niet overeen. Oplossing: kies het juiste dialect in de dropdown. Oorzaak 2: de tabel- of kolomnaam botst met een SQL-reservewoord (order, user, select, enz.). Oplossing: hernoem de tabel in de instellingen of omhul de naam handmatig met backticks of vierkante haken. Oorzaak 3: de batchgrootte is te groot en overschrijdt de max_allowed_packet van de database of een vergelijkbare limiet. Oplossing: verlaag de batchgrootte (bijvoorbeeld naar 50) in de instellingen.
Een datumveld is gedetecteerd als VARCHAR in plaats van DATE of TIMESTAMP.
Oorzaak: de datumtekenreeks is niet in ISO 8601-formaat. De tool herkent alleen YYYY-MM-DD (DATE) en YYYY-MM-DDTHH:mm:ss (TIMESTAMP). Veelvoorkomende formaten die het niet herkent: YYYY/MM/DD, DD-MM-YYYY, "May 20 2024" en Unix-timestamps zoals 1715644800. Oplossing: converteer de datum eerst naar ISO 8601 in de JSON, of bewerk het kolomtype in CREATE TABLE handmatig naar DATE of VARCHAR na de conversie.
Booleans verschijnen als 1/0 in SQLite/DB2 maar ik wil TRUE/FALSE.
Oorzaak: SQLite, DB2 en SQL Server hebben geen native BOOLEAN-type, dus de dialectstandaard gebruikt 1/0 (of BIT). Oplossing: optie 1, accepteer 1/0 als standaardvoorstelling (1 betekent TRUE, 0 betekent FALSE); optie 2, converteer de waarde in de applicatielaag (1 naar true, 0 naar false); optie 3, postprocess de SQL door 1/0 te vervangen door TRUE/FALSE en wijzig het kolomtype in INTEGER om het als boolean in je code te lezen. De tool volgt altijd de dialectstandaard en biedt geen niet-standaardoptie.
De JSON bevat geneste objecten of arrays. Welke kolomtypes worden er geproduceerd?
Niet-primitieve waarden (geneste objecten en arrays) worden geserialiseerd naar JSON-tekenreeksen en opgeslagen als TEXT. Bijvoorbeeld {"tags": ["a", "b"], "profile": {"age": 30}} produceert twee kolommen: tags TEXT en profile TEXT, beide met geserialiseerde JSON. Bij het bevragen kun je JSON_EXTRACT (MySQL 5.7+) of vergelijkbare JSON-functies gebruiken om geneste velden te extraheren. Om geneste gegevens volledig te normaliseren naar afzonderlijke relationele tabellen, behandel je dit in de applicatielaag of gebruik je een speciale ETL-tool.
Chinese tekens worden onleesbaar na het importeren van het gedownloade .sql-bestand.
Oorzaak: het .sql-bestand is UTF-8-gecodeerd, maar de databaseclient of de database zelf is niet op UTF-8 ingesteld. Oplossing: optie 1, stel de tekenset van de database in op utf8mb4 (MySQL) of UTF8 (PostgreSQL). Optie 2, specificeer de tekenset op de clientverbinding (bijvoorbeeld MySQL CLI met --default-character-set=utf8mb4). Optie 3, open het .sql-bestand in een teksteditor en bevestig dat de codering UTF-8 is (niet GBK of iets anders). De tool produceert altijd .sql-bestanden in UTF-8.
Woordenlijst
- JSON (JavaScript Object Notation)
- Lichtgewicht gegevensuitwisselingsformaat gebaseerd op de syntaxis van JavaScript-objecten, maar onafhankelijk van elke programmeertaal. Ondersteunt zes basistypes: object ({}), array ([]), string, number, boolean en null. Veelgebruikt voor REST-API's, frontend-naar-backend transport, configuratiebestanden en logboeken.
- SQL (Structured Query Language)
- De standaardtaal voor relationele databases (MySQL, PostgreSQL, SQLite, SQL Server, Oracle, enz.). Omvat DDL (gegevensdefinitie, bijv. CREATE TABLE), DML (gegevensmanipulatie, bijv. INSERT), DQL (gegevensquery, bijv. SELECT) en DCL (gegevenscontrole).
- INSERT-instructie
- DML-instructie die rijen aan een tabel toevoegt; de syntaxis is INSERT INTO table_name (col1, col2) VALUES (val1, val2). Ondersteunt zowel enkelvoudige waardetuples als multivalue tuples (één INSERT voor veel rijen); deze laatste verbetert de bulkinsert-performance drastisch.
- CREATE TABLE-instructie
- DDL-instructie die een tabel maakt door naam, kolommen, datatypes en beperkingen (NOT NULL, PRIMARY KEY, UNIQUE, DEFAULT, enz.) te definiëren. De CREATE TABLE die door deze tool wordt gegenereerd, laat primaire sleutels, externe sleutels en indexen weg om schoon en voorspelbaar te blijven.
- SQL-dialect
- De implementatieverschillen tussen database-leveranciers voor de SQL-standaard. MySQL gebruikt backticks, PostgreSQL gebruikt dubbele aanhalingstekens, SQL Server gebruikt vierkante haken; SQLite heeft geen native BOOLEAN en gebruikt 1/0; Oracle gebruikt VARCHAR2; BigQuery gebruikt INT64 en STRING. Dezelfde logische SQL kan een andere syntaxis hebben tussen dialecten.
- DDL (Data Definition Language)
- SQL-deeltaal die de instructies CREATE, ALTER en DROP omvat, gebruikt om databasestructuren (tabellen, views, indexen, beperkingen, enz.) te definiëren en te wijzigen. De CREATE TABLE-uitvoer van deze tool is een DDL-instructie.
- DML (Data Manipulation Language)
- SQL-deeltaal die de instructies INSERT, UPDATE en DELETE omvat, gebruikt om de gegevensrijen in tabellen te manipuleren. De INSERT INTO-uitvoer van deze tool is een DML-instructie.
- Type-inferentie
- Het proces van het automatisch afleiden van het type van een waarde uit zijn letterlijke vorm. De tool inspecteert de typeof van elke JSON-waarde (null, boolean, number, string) samen met zijn specifieke vorm (ISO 8601-datum, tekenreekslengte) om deze toe te wijzen aan het meest geschikte SQL-type.
- Identificatieteken
- Speciale tekens die tabel- en kolomnamen in SQL omhullen. MySQL gebruikt backticks zoals `name`, PostgreSQL en standaard SQL gebruiken dubbele aanhalingstekens zoals "name", SQL Server gebruikt vierkante haken zoals [name]. Ze worden gebruikt om gereserveerde woorden te escapen en hoofdlettergevoeligheid te beheren.
- ISO 8601-datumformaat
- Internationale standaard voor het weergeven van datums en tijden. Het formaat is YYYY-MM-DD voor datums en YYYY-MM-DDTHH:mm:ss voor datum-tijd. Tekenreeksen die aan deze patronen voldoen, worden door deze tool automatisch toegewezen aan de SQL-types DATE en TIMESTAMP.
- VARCHAR en TEXT
- Twee SQL-types voor variabele-lengte tekenreeksen. VARCHAR(n) heeft een lengtelimiet (doorgaans tot 65.535 bytes) en is geschikt voor korte tekenreeksen zoals namen, e-mails en titels. TEXT heeft geen lengtelimiet (of een zeer grote) en is geschikt voor lange inhoud. Standaard wijst deze tool tekenreeksen van 255 tekens of minder toe aan VARCHAR(255) en langere aan TEXT.
- INT en BIGINT
- Twee SQL-types voor gehele getallen. INT (INTEGER) is normaal gesproken een 32-bits geheel getal met teken in het bereik -2.147.483.648 tot 2.147.483.647. BIGINT is een 64-bits geheel getal met teken met een veel groter bereik. De tool promoot automatisch naar BIGINT voor gehele getallen waarvan de absolute waarde het INT-bereik overschrijdt.
- BOOLEAN-type
- SQL-type voor waarheidswaarden. MySQL, PostgreSQL en BigQuery ondersteunen BOOLEAN native (slaan TRUE/FALSE op). SQLite heeft geen native BOOLEAN en gebruikt 1/0 of INTEGER. SQL Server gebruikt BIT. DB2 gebruikt SMALLINT. De tool past de uitvoer automatisch per dialect aan.
- IF NOT EXISTS-clausule
- Optionele clausule op CREATE TABLE die het aanmaken overslaat wanneer de tabel al bestaat, waardoor fouten bij herhaalde uitvoeringen worden voorkomen. MySQL, PostgreSQL, SQLite en BigQuery ondersteunen het; Oracle PL/SQL en SQL Server T-SQL niet. De tool geeft deze clausule alleen uit voor dialecten die het ondersteunen.
- Bulkinsert
- Techniek die veel rijen combineert in één INSERT-instructie met multivalue tuples, bijv. VALUES (1,2), (3,4), (5,6). Vergeleken met rij-voor-rij invoegen vermindert dit de parse-overhead en netwerk-roundtrips en verbetert doorgaans de importperformance met 10x-100x. De tool gebruikt standaard 100 rijen per INSERT en ondersteunt 1-1000.
- sql-formatter
- JavaScript SQL-verfraaier die meer dan 20 dialecten ondersteunt. Het zet trefwoorden in hoofdletters, past consistente inspring toe en breekt lange regels. De tool gebruikt deze bibliotheek als laatste stap in zijn pipeline om de gegenereerde SQL gemakkelijker leesbaar en bewerkbaar te maken.
Ondersteunde SQL-dialecten en belangrijkste verschillen
De meer dan 20 SQL-dialecten die door de tool worden ondersteund, met hun identificatietekens, gehele-getal-types en booleaanse voorstellingen:
| Dialect | Identificatieteken | Geheel-getaltype | Booleaanse vorm | IF NOT EXISTS |
|---|---|---|---|---|
| MySQL | backticks ` | INT | TRUE | ja |
| MariaDB | backticks ` | INT | TRUE | ja |
| TiDB | backticks ` | INT | TRUE | ja |
| SingleStoreDB | backticks ` | INT | TRUE | ja |
| PostgreSQL | dubbele aanhalingstekens " | INTEGER | TRUE | ja |
| Redshift | dubbele aanhalingstekens " | INTEGER | TRUE | ja |
| DuckDB | dubbele aanhalingstekens " | INTEGER | TRUE | ja |
| Trino | dubbele aanhalingstekens " | INTEGER | TRUE | ja |
| SQLite | dubbele aanhalingstekens " | INTEGER | 1/0 | ja |
| BigQuery | backticks ` | INT64 | TRUE | ja |
| Snowflake | dubbele aanhalingstekens " | NUMBER | TRUE | ja |
| DB2 | dubbele aanhalingstekens " | INTEGER | 1/0 | ja |
| DB2i | dubbele aanhalingstekens " | INTEGER | 1/0 | ja |
| Oracle PL/SQL | dubbele aanhalingstekens " | NUMBER | 1/0 | nee |
| SQL Server T-SQL | vierkante haken [] | INT | 1/0 | nee |
| Transact-SQL | vierkante haken [] | INT | 1/0 | nee |
| Spark SQL | backticks ` | INT | TRUE | ja |
| Hive | backticks ` | INT | TRUE | ja |
| ClickHouse | backticks ` | Int32 | 1/0 | ja |
| N1QL (Couchbase) | backticks ` | NUMBER | TRUE | ja |
JSON-naar-SQL type-toewijzingsregels
De volledige set regels die de detectType-functie gebruikt om JSON-waarden aan SQL-types toe te wijzen:
| JSON-waarde | Voorbeeld | Afgeleid SQL-type | Detectieregel |
|---|---|---|---|
null | null | NULL | JSON null wordt toegewezen aan SQL NULL |
boolean | true / false | BOOLEAN | Dialecten met native BOOLEAN gebruiken het; SQLite/DB2/SQL Server gebruiken 1/0 of BIT |
geheel getal (32-bit) | 1, 100, -9999 | INT / INTEGER | |waarde| <= 2.147.483.647 -> INT |
geheel getal (64-bit) | 9999999999, -1234567890 | BIGINT | |waarde| > 2.147.483.647 gepromoveerd naar BIGINT |
zwevendekommagetal | 3.14, -0.5, 1e10 | FLOAT / DOUBLE / REAL | Zwevendekommagetallen gebruiken FLOAT/DOUBLE/REAL per dialect |
ISO 8601 date-time | 2024-05-20T10:30:00 | TIMESTAMP | Komt overeen met /^\d{4}-\d{2}-\d{2}T/ -> TIMESTAMP |
ISO 8601 date | 2024-05-20 | DATE | Komt overeen met /^\d{4}-\d{2}-\d{2}/ -> DATE |
korte tekenreeks | Alice, Amsterdam | VARCHAR(255) | lengte <= 255 -> VARCHAR(255) |
lange tekenreeks | meer dan 255 tekens | TEXT | lengte > 255 -> TEXT (CLOB/NVARCHAR(MAX)/STRING per dialect) |
Privacy & Security
Deze JSON-naar-SQL-converter draait volledig in je browser. JSON-analyse, type-inferentie, SQL-generatie en SQL-verfraaiing worden allemaal uitgevoerd in client-side JavaScript; er wordt niets naar een server gestuurd. Bestandsuploads gebruiken de native FileReader API en gaan nooit via een tussendienst. De tool gebruikt geen trackingcookies en verzamelt geen invoer- of gebruiksgegevens. Alle invoer en uitvoer worden uit het geheugen gewist zodra de pagina wordt gesloten of vernieuwd. Veilig te gebruiken voor JSON die persoonsgegevens, zakelijke geheimen of andere gevoelige inhoud bevat.
Authoritative References
- MySQLMySQL INSERT-syntaxis - officiële documentatie
- PostgreSQLPostgreSQL INSERT-syntaxis - officiële documentatie
- SQLiteSQLite INSERT-syntaxis - officiële documentatie
- MicrosoftSQL Server INSERT-syntaxis - officiële documentatie
- MDNJSON-specificatie - MDN Web Docs
- WikipediaISO 8601 datum- en tijdstandaard - Wikipedia
- GitHubsql-formatter op GitHub
- JSON Compress
- CSV naar JSON Converter
- JSON naar CSV
- JSON Diff
- JSON Escape / Unescape
- JSON afvlakken
- JSON Formatter
- JSON-generator
- JSONPath Online Query
- JSON samenvoegen
- JSON repareren
- JSON Schema Validator
- JSON sorteren
- JSON Stringify
- JSON naar HTML-tabel
- JSON naar Java
- JSON to Markdown
- JSON naar SQL
- JSON naar TOML
- JSON naar TypeScript
- XML naar JSON
- JSON naar XML
- YAML naar JSON
- JSON naar YAML
- JSON naar Python
- JSON naar Go
- JSON naar Rust
- JSON naar Swift
- JSON naar C#
- JSON naar C++
- JSON naar PHP