Preskoči na sadržaj
100% lokalno

JSON u SQL CREATE TABLE

Presledi JSON objekt ili niz objekata u SQL CREATE TABLE iskaz.

Unos
Rezultat

JSON u SQL CREATE TABLE

Prosledi JSON objekt, ili niz objekata, te ovaj alat gradi spreman SQL CREATE TABLE iskaz iz njega — uperi ga prema primjeru odgovora API-ja ili izvozenom zapisu i dobij inicijalnu shemu umjesto ručnog pisanja svakog stupca.

Tipovi stupaca se zaključuju iz stvarnih vrijednosti: cijeli brojevi postaju INTEGER, brojevi s decimalnim dijelom postaju DECIMAL, true/false postaje BOOLEAN, stringovi oblikovani kao 2024-01-15 ili 2024-01-15T10:30:00Z postaju DATE ili TIMESTAMP, a sve ostalo postaje VARCHAR sa procijenjenom duljinom, ili TEXT preko 255 znakova. Polje označeno sa NOT NULL je ono koje je prisutno, i nikada null, u svakom prosljeđenom zapisu; polje ime id postaje PRIMARY KEY. Odaberi dijalekt — ANSI SQL, MySQL, PostgreSQL, SQLite ili SQL Server — kako bi se uskladio s manjim razlikama u nazivima tipova. Ugniježđeni objekti mogu biti spljošćeni u stupce s prefiksom (address.city postaje address_city) ili zadržani kao jedan JSON stupac, a "Pretvori imena u snake_case" pretvara camelCase JSON ključeve u konvencionalne SQL imena stupaca.

S više od jednog zapisa, uključivanje "Dodaj INSERT iskaze" dodaje jedan INSERT ispod CREATE TABLE-a, koristeći iste zaključene stupce — korisno za sejanje testne baze podataka iz JSON fiksture. Zaključivanje uvijek gleda sveukupno kroz svaki prosljeđeni zapis, ne samo prvi, zato je polje prisutno samo ponekad ispravno ostavljeno nullable umjesto pogrešno pogađanja.

Sve se izvršava u vašem pregledniku. JSON koji prosljeđujete, i shema generirana iz njega, nikada se ne šalju nigdje — to je važno kada primjer podataka dolazi iz proizvodnog izvoza. Kopiraj rezultat, preuzmi kao .txt datoteku, ili pošalji izlaz nazad u unos kako bi nastavio s finotunom sheme.

FAQ

Kako se odlučuju tipovi stupaca?
Svaki stupac se zaključuje iz svake vrijednosti vidljive za to polje sveukupno kroz sve prislonjene zapise — ne samo prvog. Polje s miješanim tipovima (broj u jednom zapisu, string u drugom) pada u tekstualni stupac, jer je to jedini tip koji može sigurno sadržavati oboje.
Što se dogodi s poljem pod nazivom "id"?
Stupac pod nazivom id (nakon snake_case konverzije, ako je omogućena) postaje PRIMARY KEY. Auto-increment ili identity sintaksa se dovoljno razlikuje između dijalekta da je ostavljena vani — dodaj je sam kada si odabrao strategiju.
Koja je razlika između dvaju mogućnosti za ugniježđene objekte?
"Spljošti sa donjom linijom" pretvara ugniježđeni objekt kao address: { city } u odvojen address_city stupac. "Zadrži kao JSON stupac" pohranjuje cijeli ugniježđeni objekt kao jedan JSON (ili tekstualni) stupac umjesto. Nizovi se uvijek čuvaju kao jedan JSON/tekstualni stupac, jer jedan red ne može zadržati listu varijabilne duljine.
Može li generirati podatke za umetanje kao i tablicu?
Da. Uključi "Dodaj INSERT iskaze" te, ako si prosljeđivao niz objekata, jedan INSERT iskaz po zapisu je dodan ispod CREATE TABLE-a, koristeći stupce i tipove koje si već zaključio.
Je li moj JSON nigdje otprosljeđivan?
Ne. Parsiranje, zaključivanje tipova i generiranje SQL-a se sve izvršava lokalno u vašem pregledniku — vaš JSON i shema izvučena iz njega nikada ne napuštaju vašu napraву.