JSON do SQL

Darmowe narzędzie online do zamiany JSON na SQL: generuje INSERT-y z tablic JSON i opcjonalnie tworzy też CREATE TABLE.

Powiązane Rekomendacje

Na czym polega konwersja JSON do SQL

Konwersja JSON do SQL polega na zamianie tablic i obiektów JSON na skrypty INSERT i CREATE TABLE możliwe do uruchomienia w relacyjnej bazie danych.

Narzędzie traktuje klucze obiektu jako nazwy kolumn, wartości jako literały SQL i w razie potrzeby buduje także DDL dla tabeli.

Inferencja typów, różnice dialektów i batch insert są realizowane lokalnie w przeglądarce, dzięki czemu jest to szybsze i bezpieczniejsze od ręcznej pracy.

Przypadki użycia

  • Import odpowiedzi API w formacie JSON do relacyjnej bazy przez skrypty INSERT.
  • Tworzenie danych seed z mock JSON dla developmentu i testów.
  • Budowanie CREATE TABLE na podstawie struktury JSON podczas inicjalizacji nowej bazy.
  • Migracja danych JSON z logów lub document store do systemu SQL.
  • Pokazanie na szkoleniu, jak wartości JSON mapują się na typy SQL i batch insert.

Jak Używać

  1. Wklej tablicę JSON lub obiekt po lewej stronie albo wczytaj plik .json/.txt.
  2. Wybierz docelowy dialekt SQL z paska narzędzi.
  3. W ustawieniach podaj nazwę tabeli, włącz CREATE TABLE i ustaw batch size, jeśli trzeba.
  4. Uruchom konwersję i sprawdź SQL oraz liczbę wierszy i kolumn po prawej stronie.
  5. Skopiuj wynik albo pobierz plik .sql i wykonaj go w kliencie bazy danych.

Funkcje

  • Generowanie batch INSERT z tablic JSON z rozmiarem wsadu 1-1000 wierszy.
  • Opcjonalny CREATE TABLE DDL z automatycznym wnioskowaniem typów kolumn.
  • Obsługa ponad 20 dialektów SQL, w tym MySQL, PostgreSQL, SQLite i SQL Server.
  • Inteligentna inferencja typów dla NULL, boolean, liczb, dat ISO i krótkich/długich stringów.
  • Automatyczne formatowanie SQL przez sql-formatter dla lepszej czytelności.
  • Całość działa lokalnie w przeglądarce bez wysyłania JSON na serwer.

Często Zadawane Pytania

Jak zamienić tablicę JSON na instrukcje SQL INSERT?

Wklej tablicę JSON, a każdy obiekt zostanie zamieniony na wartości do INSERT: klucze staną się nazwami kolumn, a wartości literalami SQL.

Czy mogę automatycznie wygenerować CREATE TABLE?

Tak. Włącz opcję CREATE TABLE, a narzędzie wyprowadzi DDL na podstawie wykrytych typów danych.

Jakie dialekty SQL są obsługiwane?

Obsługiwane są MySQL, PostgreSQL, SQLite, SQL Server i ponad 20 dialektów z automatycznym doborem cudzysłowów i typów.

Jak działa inferencja typów?

Rozpoznawane są NULL, boolean, integer, float, daty ISO 8601 oraz krótkie i długie stringi, a potem mapowane na odpowiednie typy SQL.

Czy wspierane są batch insert?

Tak. Rozmiar wsadu można ustawić od 1 do 1000 wierszy na jedno INSERT.

Co jeśli JSON ma błędy składni?

Typowe problemy jak trailing comma czy złe cudzysłowy są naprawiane automatycznie. W trudniejszych przypadkach warto najpierw użyć formatowania JSON.

Czy mój JSON trafia na serwer?

Nie. Parsowanie JSON, wnioskowanie typów i budowanie SQL odbywa się lokalnie w JavaScript w przeglądarce.

Czy daty są wykrywane automatycznie?

Tak. Stringi ISO 8601 w formacie daty lub daty-czasu są rozpoznawane jako DATE albo TIMESTAMP.

Rozwiązywanie problemów

Po prawej stronie widać tylko "No valid objects found in JSON"

Poziom główny nie jest tablicą/obiektem albo tablica zawiera prymitywy bez kluczy dla kolumn.

Wygenerowany SQL daje błąd składni w bazie

Często powodem jest zły dialekt, konflikt z nazwą zastrzeżoną albo zbyt duży batch size.

Data została wykryta jako VARCHAR zamiast DATE/TIMESTAMP

String nie ma formatu ISO 8601, więc jest traktowany jak zwykły tekst.

W jednej kolumnie są liczby i stringi

Przy konflikcie typów kolumna jest automatycznie promowana do szerszego typu, np. VARCHAR.

Słownik

JSON
Lekki format wymiany danych używany szeroko w API i plikach konfiguracyjnych.
SQL
Standardowy język obsługi relacyjnych baz danych.
INSERT
Instrukcja DML służąca do dodawania wierszy do tabeli.
CREATE TABLE
Instrukcja DDL definiująca tabelę, kolumny i typy.
Dialekt SQL
Różnice składni i typów między różnymi silnikami bazodanowymi.
Inferencja typów
Automatyczne ustalanie typu SQL na podstawie wartości JSON.
Batch insert
Łączenie wielu wierszy w jedno INSERT dla lepszej wydajności.

Obsługiwane dialekty SQL i główne różnice

Podsumowanie głównych dialektów: cudzysłowy identyfikatorów, typy integer i reprezentacja boolean.

DialektCudzysłów identyfikatoraTyp integerBooleanIF NOT EXISTS
MySQLbacktick `INTTRUEtak
PostgreSQLpodwójny cudzysłów "INTEGERTRUEtak
SQLitepodwójny cudzysłów "INTEGER1/0tak
SQL Servernawiasy kwadratowe []INT1/0nie
BigQuerybacktick `INT64TRUEtak
Snowflakepodwójny cudzysłów "NUMBERTRUEtak

Reguły inferencji typów JSON -> SQL

Najważniejsze reguły używane przez detectType.

Wartość JSONPrzykładWnioskowany typ SQLReguła
nullnullNULLJSON null mapuje do SQL NULL.
booleantrue / falseBOOLEANUżywany jest BOOLEAN albo 1/0 zależnie od dialektu.
integer1, 100, -9999INT / BIGINTINT lub BIGINT wybierany jest według zakresu wartości.
float3.14, -0.5FLOAT / DOUBLE / REALDla float używany jest typ zmiennoprzecinkowy odpowiedni dla dialektu.
ISO 8601 datetime2024-05-20T10:30:00TIMESTAMPData-czas ISO 8601 trafia do TIMESTAMP.
short / long stringAlice / 500 charsVARCHAR / TEXTDo 255 znaków używany jest VARCHAR, dłużej TEXT.

Privacy & Security

Ten konwerter JSON do SQL działa całkowicie w Twojej przeglądarce. Parsowanie JSON, inferencja typów, generowanie SQL i formatowanie odbywają się po stronie klienta, bez wysyłania danych wejściowych na jakikolwiek serwer.

Authoritative References