Sări la conținut
Complet local

JSON în SQL CREATE TABLE

Transformați un obiect JSON sau o matrice de obiecte într-o instrucțiune SQL CREATE TABLE.

Intrare
Ieșire

JSON în SQL CREATE TABLE

Lipiți un obiect JSON sau o matrice de obiecte și acest instrument construiește o instrucțiune SQL CREATE TABLE gata de utilizare — indicați-o la un răspuns de API eșantion sau la o înregistrare exportată și obțineți un schema de start în loc să tastați fiecare coloană manual.

Tipurile de coloane sunt deduse din valorile reale: numerele întregi devin INTEGER, numerele cu parte fracționară devin DECIMAL, true/false devin BOOLEAN, stringurile în formă de 2024-01-15 sau 2024-01-15T10:30:00Z devin DATE sau TIMESTAMP, iar totul restul devine VARCHAR cu o lungime estimată, sau TEXT peste 255 de caractere. Un câmp marcat NOT NULL este acela care este prezent, și niciodată null, în fiecare înregistrare lipită; un câmp numit id devine PRIMARY KEY. Alegeți un dialect — ANSI SQL, MySQL, PostgreSQL, SQLite sau SQL Server — pentru a se potrivi cu mici diferențe în numele tipurilor. Obiectele imbricate pot fi aplati în coloane cu prefix (address.city devine address_city) sau păstrate ca o singură coloană JSON, iar "Convertește nume în snake_case" transformă cheile JSON camelCase în nume convenționale de coloane SQL.

Cu mai mult de o înregistrare, activarea "Adaugă instrucțiuni INSERT" adaugă una instrucțiune INSERT per înregistrare sub CREATE TABLE, utilizând aceleași coloane deduse — util pentru a semăna o bază de date de test dintr-o fixture JSON. Deducerea privește întotdeauna toate înregistrările furnizate, nu doar prima, deci un câmp doar uneori prezent rămâne corect nullable în loc să fie ghicit incorect.

Totul rulează în browserul dvs. JSON-ul pe care îl lipiți și schema generată din acesta nu sunt niciodată încărcate undeva — ceea ce contează atunci când datele eșantion provin dintr-o export de producție. Copiați rezultatul, descărcați-l ca fișier .txt, sau trimiteți rezultatul înapoi în intrare pentru a continua rafinarea schemei.

FAQ

Cum sunt decise tipurile de coloane?
Fiecare coloană este dedusă din fiecare valoare văzută pentru acel câmp în toate înregistrările pe care le-ați lipit — nu doar pe prima. Un câmp cu tipuri mixte (un număr într-o înregistrare, un șir în alta) se retrage la o coloană de text, deoarece acesta este singurul tip care poate conține în siguranță amândouă.
Ce se întâmplă cu un câmp numit "id"?
O coloană numită id (după conversia snake_case, dacă este activată) devine PRIMARY KEY. Sintaxa auto-increment sau identity diferă suficient între dialecte pentru a fi lăsată — adăugați-o singur odată ce ați ales o strategie.
Care este diferența dintre cele două opțiuni de obiect imbricat?
"Aplatiza cu underscore" transformă un obiect imbricat cum ar fi address: { city } într-o coloană separată address_city. "Păstrează ca coloană JSON" stochează întregul obiect imbricat ca o singură coloană JSON (sau text) în schimb. Matricele sunt întotdeauna păstrate ca o singură coloană JSON/text, deoarece o singură rând nu poate conține o listă de lungime variabilă.
Poate genera date de inserat precum și tabelul?
Da. Activați "Adaugă instrucțiuni INSERT" și, dacă ați lipit o matrice de obiecte, o instrucțiune INSERT per înregistrare este adăugată sub CREATE TABLE, utilizând coloanele și tipurile deja deduse.
JSON-ul meu este încărcat undeva?
Nu. Analiza, deducerea de tip și generarea SQL se execută local în browserul dvs. — JSON-ul dvs. și schema derivată din acesta nu părăsesc niciodată dispozitivul dvs.