Preskočiť na obsah

JSON na SQL CREATE TABLE

Zmení JSON objekt alebo pole objektov na príkaz SQL CREATE TABLE.

Vstup
Výstup

JSON na SQL CREATE TABLE

Vložte JSON objekt alebo pole JSON objektov a tento nástroj vytvorí z neho pripravený SQL príkaz CREATE TABLE — namiesto ručného písania každého stĺpca môžete nakopírovať vzorku z API odpovede alebo exportovaného záznamu a získať tak počiatočnú schému.

Typy stĺpcov sa odvodzujú z konkrétnych hodnôt: celé čísla sa stanú INTEGER, čísla s desatinnou časťou sa stanú DECIMAL, true/false sa stanú BOOLEAN, reťazce podobné 2024-01-15 alebo 2024-01-15T10:30:00Z sa stanú DATE alebo TIMESTAMP a všetko ostatné sa stane VARCHAR s odhadovanou dĺžkou, prípadne TEXT od 255 znakov. Pole označené NOT NULL je také, ktoré sa vyskytuje a nie je nikdy null v každom vloženom zázname; pole pomenované id sa stane PRIMARY KEY. Zvolte dialekt — ANSI SQL, MySQL, PostgreSQL, SQLite alebo SQL Server — aby zodpovedal malým rozdielom v názvoch typov. Vnorené objekty je možné rozložiť na stĺpce s predponou (address.city sa stane address_city) alebo ponechať ako jediný JSON stĺpec, a "Previesť názvy na snake_case" zmení kľúče JSON v camelCase na konvenčné názvy stĺpcov SQL.

S viac ako jedným záznamom zapnutie "Pridať príkazy INSERT" pridá jeden INSERT na každý záznam pod CREATE TABLE, s použitím rovnakých odvodených stĺpcov — je to praktické na vypĺňanie testovacích databáz z JSON fixturov. Odvodenie sa vždy poziera na všetky vložené záznamy, nie iba na prvý, takže pole, ktoré sa niekedy vyskytuje, je správne ponechané ako nullable namiesto nesprávneho hádania.

Všetko beží v tvojom prehliadači. JSON, ktorý vložíš, a schéma z neho vygenerovaná sa nikdy nikam neposielajú — to je dôležité, ak vzorové údaje pochádzajú z produkčného exportu. Skopíruj výsledok, stiahni ho ako súbor .txt alebo pošli výstup späť na vstup, aby si mohol schému ďalej zdokonaľovať.

Časté otázky

Ako sa rozhoduje o typoch stĺpcov?
Každý stĺpec sa odvodzuje z každej hodnoty viditeľnej pre toto pole vo všetkých vložených záznamoch — nie len z prvého. Pole so zmiešanými typmi (číslo v jednom zázname, reťazec v inom) sa vráti do textového stĺpca, pretože to je jediný typ, ktorý bezpečne pojme obe.
Čo sa stane s polom pomenovaným "id"?
Stĺpec pomenovaný id (po konverzii na snake_case, ak je zapnutá) sa stane PRIMARY KEY. Syntax auto-increment alebo identity sa dosť líši medzi dialektami, takže sa vynechá — pridaj ju sám, keď si vybral stratégiu.
Aký je rozdiel medzi dvoma možnosťami vnorených objektov?
"Rozložiť s podčiarkovníkom" zmení vnorený objekt ako address: { city } na samostatný stĺpec address_city. "Ponechať ako JSON stĺpec" uloží celý vnorený objekt ako jeden stĺpec JSON (alebo text) namiesto toho. Polia sa vždy uchovávajú ako jediný stĺpec JSON/text, pretože jeden riadok nemôže obsahovať zoznam s premenlivou dĺžkou.
Môže vygenerovať aj údaje na vloženie spolu s tabuľkou?
Áno. Zapni "Pridať príkazy INSERT" a ak si vložil pole objektov, pod CREATE TABLE sa pridá jeden príkaz INSERT na záznam, s použitím již odvodzených stĺpcov.
Je môj JSON niekam nahrávaný?
Nie. Parsovanie, odvodenie typov a generovanie SQL sa všetko deje lokálne v tvojom prehliadači — tvoj JSON a schéma z neho odvozená nikdy neopusťujú tvoje zariadenie.