JSON से SQL कैसे इस्तेमाल करें
- ऑब्जेक्ट का JSON ऐरे पेस्ट करें।
- टेबल का नाम, डायलेक्ट और primary key दर्ज करें।
- SQL आउटपुट कॉपी करें।
JSON से SQL की खूबियाँ
- ऑब्जेक्ट के ऐरे (API रिस्पॉन्स, fixture) को INSERT स्टेटमेंट में बदलता है
- अनुमानित टाइप के साथ वैकल्पिक CREATE TABLE
- नेस्टेड ऑब्जेक्ट को parent_child कॉलम में समतल करता है; ऐरे JSON के रूप में रखे जाते हैं
- सभी ऑब्जेक्ट की कीज़ का संघ — ग़ैर-मौजूद फ़ील्ड NULL बन जाते हैं
- पाँच डायलेक्ट, सही boolean, तारीख़ और JSON टाइप के साथ
- बैचिंग और हर पंक्ति के लिए अलग स्टेटमेंट वाले मोड
JSON से SQL का उदाहरण
API पेलोड से seed करना
इनपुट:
[{"id": 1, "name": "Layla", "profile": {"city": "Riyadh"}}]आउटपुट:
CREATE TABLE IF NOT EXISTS users (
id INT NOT NULL,
name VARCHAR(10) NOT NULL,
profile_city VARCHAR(10) NOT NULL,
PRIMARY KEY (id)
);
INSERT INTO users (id, name, profile_city) VALUES
(1, 'Layla', 'Riyadh');JSON से SQL के बारे में अक्सर पूछे जाने वाले सवाल
किस आकार का JSON अपेक्षित है?
एक जैसी कीज़ वाले ऑब्जेक्ट का ऐरे, जैसे कोई API रिस्पॉन्स। ऐरे को लपेटने वाला ऑब्जेक्ट (जैसे {"data": [...]}) भी पहचान लिया जाता है।
नेस्टेड ऑब्जेक्ट और ऐरे कैसे संभाले जाते हैं?
नेस्टेड ऑब्जेक्ट parent_child नाम वाले कॉलम में समतल हो जाते हैं। ऐरे JSON टेक्स्ट के रूप में रखे जाते हैं (PostgreSQL में JSONB, MySQL में JSON)। पूरे ऑब्जेक्ट को JSON के रूप में रखने के लिए "Flatten" से टिक हटा दें।
अगर ऑब्जेक्ट की कीज़ अलग-अलग हों तो?
कॉलम सेट सभी कीज़ का संघ होता है, पहली बार दिखने के क्रम में; ग़ैर-मौजूद फ़ील्ड NULL बन जाते हैं।
क्या तारीख़ें अपना टाइप बनाए रखती हैं?
ISO 8601 स्ट्रिंग पहचानी जाती हैं और उन्हें DATE या TIMESTAMP टाइप मिलता है; बाक़ी स्ट्रिंग VARCHAR ही रहती हैं।