UTILS.
100% ब्राउज़र में
🗄

JSON से SQL CREATE TABLE

objects की एक JSON array से एक SQL CREATE TABLE (और वैकल्पिक INSERTs) infer करें, MySQL, PostgreSQL, या SQLite के लिए column types स्वतः चुनते हुए।

— आउटपुट यहाँ दिखेगा —

इस टूल के बारे में

JSON से SQL CREATE TABLE टूल objects की एक JSON array (या एक अकेला object) पढ़ता है और एक मिलान करने वाली SQL table definition infer करता है, प्रत्येक column का type उन मानों से चुनते हुए जो वह वास्तव में देखता है। यह पूरी तरह से आपके ब्राउज़र में चलता है — JSON को native JSON.parse से पार्स किया जाता है और यह कभी आपके डिवाइस को नहीं छोड़ता — इसलिए आप एक API dump या एक database export पेस्ट कर सकते हैं और एक ही चरण में एक table scaffold कर सकते हैं।

Column types प्रत्येक row में हर field के लिए infer किए जाते हैं: जो मान सभी पूर्ण संख्याएँ हैं वे INT बन जाते हैं (BIGINT जब कोई मान 2,147,483,647 से अधिक हो), दशमलव वाली numbers DECIMAL(p,s) बन जाती हैं जो आपके द्वारा दिए गए सबसे चौड़े integer और fraction अंक गणनाओं के अनुसार आकारित होती हैं (या जब आप float mode चुनते हैं तो DOUBLE / REAL), booleans TINYINT(1)/BOOLEAN पर मैप होते हैं, ISO 8601 strings DATETIME या DATE पर मैप होते हैं, nested objects और arrays JSON/JSONB बन जाते हैं, और शेष strings VARCHAR(N) बन जाती हैं जहाँ N सबसे लंबे मान से ऊपर 2 की अगली घात होती है (255 से अधिक होने पर TEXT)। जो column किसी भी row में null या गायब है वह NULLABLE छोड़ा जाता है; अन्यथा यह NOT NULL होता है। id या uuid नामक एक unique, non-null column को PRIMARY KEY में promote किया जाता है, integer keys के लिए AUTO_INCREMENT / SERIAL / AUTOINCREMENT जोड़े जाते हुए।

एक dialect toggle types को MySQL, PostgreSQL (SERIAL, JSONB, TIMESTAMP, DOUBLE PRECISION), या SQLite (INTEGER / REAL / TEXT affinities) के लिए फिर से लिखता है और identifiers को सही delimiter से quote करता है (MySQL के लिए backticks, अन्यत्र double quotes)। प्रति row एक INSERT statement भी निकालने के लिए INSERTs विकल्प चालू करें, चुने गए dialect के लिए strings, booleans, numbers, और JSON मानों को escape और quote करते हुए।

अक्सर पूछे जाने वाले प्रश्न

यह कौन सा input अपेक्षित करता है?
flat objects की एक JSON array, जैसे किसी API या export से rows, या एक अकेला JSON object जिसे एक-row table के रूप में माना जाता है। columns बनाने के लिए rows की सभी keys को union किया जाता है; non-object elements अस्वीकृत हो जाते हैं।
column types कैसे चुने जाते हैं?
प्रति column, हर देखे गए मान से: all-integer को INT/BIGINT, दशमलव को DECIMAL(p,s) या DOUBLE, booleans को TINYINT(1)/BOOLEAN, ISO date-times को DATETIME/DATE, objects/arrays को JSON, और अन्य strings को VARCHAR(N) (255 chars से ऊपर TEXT)।
कौन से SQL dialects समर्थित हैं?
MySQL, PostgreSQL, और SQLite। dialect toggle type नामों को फिर से लिखता है (Postgres के लिए SERIAL, JSONB, TIMESTAMP; SQLite के लिए INTEGER/REAL/TEXT affinities) और सही identifier quoting और auto-increment syntax का उपयोग करता है।
primary key कैसे तय होती है?
यदि id या uuid नामक एक column मौजूद है और हर row में unique मानों के साथ non-null है, तो इसे PRIMARY KEY चिह्नित किया जाता है। एक integer key को AUTO_INCREMENT (MySQL), SERIAL (PostgreSQL), या AUTOINCREMENT (SQLite) भी मिलता है।

और टूल