Ugrás a tartalomhoz
100% helyi

JSON-ből SQL CREATE TABLE

Egy JSON objektumot vagy objektumok tömbjét alakítson SQL CREATE TABLE utasítássá.

Bemenet
Kimenet

JSON-ből SQL CREATE TABLE

Illesszen be egy JSON objektumot vagy JSON objektumok tömbjét, és ez az eszköz egy kész SQL CREATE TABLE utasítást generál belőle — mutasson egy API válaszra vagy egy exportált rekordra, és kapjon egy induló sémát ahelyett, hogy kézzel gépelné be minden oszlopot.

Az oszloptípusok az aktuális értékekből következtethetők: egész számok INTEGER-ré válnak, törtrésszel rendelkező számok DECIMAL-é, igaz/hamis BOOLEAN-é, a 2024-01-15 vagy 2024-01-15T10:30:00Z formájú karakterláncok DATE vagy TIMESTAMP-é, és a többi VARCHAR-ré becsült hosszúsággal, vagy TEXT-é 255 karakteren túl. Egy NOT NULL-jelölt mező az, amely jelen van és soha nem null az összes beillesztett rekordban; egy id nevű mező a PRIMARY KEY lesz. Válasszon dialektust — ANSI SQL, MySQL, PostgreSQL, SQLite vagy SQL Server — az adatbázisnak megfelelő kisebb típusnév-eltérések miatt. A beágyazott objektumok simíthatók előre jelzett oszlopokra (address.city az address_city-vé válik) vagy egy JSON oszlopban tarthatók, és a Nevek snake_case-re konvertálása a camelCase JSON kulcsokat szokásos SQL oszlopnevekre alakítja.

Egyetlen rekorddal több mint egy, az INSERT utasítások hozzáadása bekapcsolása minden rekordhoz egy INSERT-et fűz a CREATE TABLE alá, ugyanazokkal az inferencián keresztüli oszlopokkal — hasznos egy JSON gyüjteményt egy tesztadatbázissal vetni. Az inferencija mindig az összes beillesztett rekordban megjelenik, nem csak az elsőben, így egy olyan mező, amely csak néha van jelen, helyesen marad megengedettnek, ahelyett, hogy helytelenül lenne kitalálva.

Minden a böngészőjében fut. A beillesztett JSON és az abból generált séma soha nem kerül feltöltésre — ez akkor számít, amikor a mintaadatok egy termelési exportból származnak. Másolja az eredményt, töltse le .txt fájlként, vagy küldje vissza az outputot a bemenetre a séma tovább finomításához.

Gyakori kérdések

Hogyan döntenek az oszlopok típusáról?
Az egyes oszlopok az összes értékből következtethetők, amely az adott mezőben az összes beillesztett rekordban látható — nem csak az elsőben. Egy vegyes típusú mező (szám egy rekordban, karakterlánc egy másikban) egy szöveges oszlopba esik vissza, mivel ez az egyetlen típus, amely biztonságosan képes mindkettőt tartani.
Mi történik egy id nevű mezővel?
Az id oszlop (a snake_case konvertálás után, ha engedélyezve van) PRIMARY KEY-vé válik. Az automatikus inkrementálás vagy identitás szintaxisa elég eltérő a dialektusok között ahhoz, hogy kihagyva legyen — adja hozzá Ön, miután kiválasztotta a stratégiáját.
Mi a különbség a két beágyazott objektum opciók között?
A Simítás aláhúzással egy beágyazott objektumot, például address: { city }-t egy külön address_city oszlopra alakít. A JSON oszlopként tartás a teljes beágyazott objektumot egy JSON (vagy szöveges) oszlopban tárja helyette. A tömbök mindig egy JSON/szöveges oszlopban tarthatók, mert egyetlen sor nem tartalmazhat változó hosszúságú listát.
Képes adatokat beilleszteni és az táblát is generálni?
Igen. Kapcsolja be az INSERT utasítások hozzáadása lehetőséget, és ha objektumok tömbjét illesztette be, a CREATE TABLE alá minden rekordhoz egy INSERT utasítást fűz, az már inferencián keresztül meghatározott oszlopok és típusok használatával.
Feltöltésre kerül a JSON valahova?
Nem. Az elemzés, típuskövetkeztés és SQL generálás mind helyileg a böngészőjében fut — a JSON és az abból levezetett séma soha nem hagyja el az eszközöt.