O tym narzędziu
Narzędzie JSON na SQL CREATE TABLE odczytuje tablicę JSON obiektów (lub pojedynczy obiekt) i wnioskuje pasującą definicję tabeli SQL, dobierając typ każdej kolumny z wartości, które faktycznie widzi. Działa w całości w Twojej przeglądarce — JSON jest parsowany za pomocą natywnego JSON.parse i nigdy nie opuszcza Twojego urządzenia — więc możesz wkleić zrzut API lub eksport bazy danych i utworzyć tabelę w jednym kroku.
Typy kolumn są wnioskowane dla każdego pola we wszystkich wierszach: wartości, które są wszystkie liczbami całkowitymi, stają się INT (BIGINT, gdy dowolna wartość przekracza 2 147 483 647), liczby z częściami dziesiętnymi stają się DECIMAL(p,s) dopasowane do największej liczby cyfr całkowitych i ułamkowych, które podałeś (lub DOUBLE / REAL, gdy wybierzesz tryb zmiennoprzecinkowy), wartości logiczne mapują się na TINYINT(1)/BOOLEAN, łańcuchy ISO 8601 mapują się na DATETIME lub DATE, zagnieżdżone obiekty i tablice stają się JSON/JSONB, a pozostałe łańcuchy stają się VARCHAR(N), gdzie N to następna potęga dwójki powyżej najdłuższej wartości (TEXT, gdy przekroczy 255). Kolumna, która jest null lub brakuje w dowolnym wierszu, pozostaje NULLABLE; w przeciwnym razie jest NOT NULL. Unikalna, niepusta kolumna o nazwie id lub uuid jest awansowana do PRIMARY KEY, z AUTO_INCREMENT / SERIAL / AUTOINCREMENT dodanym dla kluczy całkowitych.
Przełącznik dialektu przepisuje typy dla MySQL, PostgreSQL (SERIAL, JSONB, TIMESTAMP, DOUBLE PRECISION) lub SQLite (powinowactwa INTEGER / REAL / TEXT) i ujmuje identyfikatory w odpowiedni ogranicznik (backticki dla MySQL, cudzysłowy podwójne w pozostałych). Włącz opcję INSERT, aby dodatkowo emitować jedną instrukcję INSERT na wiersz, z łańcuchami, wartościami logicznymi, liczbami i wartościami JSON zabezpieczonymi i ujętymi w cudzysłów dla wybranego dialektu.