JSON से SQL ऑब्जेक्टों का ऐरे लेता है — API जवाब, निर्यात, परीक्षण-फ़ाइल — और वे दो कथन बनाता है जो उसे डेटाबेस में पहुँचाते हैं: ऐसा CREATE TABLE जिसके स्तंभ-प्रकार हर स्तंभ के सभी मानों से अनुमाने गए हैं, और बहु-पंक्ति VALUES सूचियों में बैच हुए INSERT। अनुमान ढंग से होता है: 32 बिट पार करते पूर्णांक BIGINT बनते हैं, ISO-ढंग की स्ट्रिंग TIMESTAMP, मिश्रित स्तंभ सुरक्षित रूप से TEXT पर उतरते हैं, और हर मानक प्रकार लक्ष्य बोली की वर्तनी में लिखा जाता है — BOOLEAN MySQL में TINYINT(1) और SQL Server में BIT बनकर पहुँचता है। हाथ की स्क्रिप्टों को तोड़ने वाली बारीक़ियाँ ही यहाँ का निशाना हैं: पहचानकर्ता बोली के हिसाब से उद्धृत होते हैं ताकि order नाम का स्तंभ कीवर्ड से न टकराए, मानों के भीतर एकल उद्धरण दुगुने होते हैं ताकि O’Brien बचे, लापता कुंजियाँ NULL बनती हैं और भीतरी ऑब्जेक्ट JSON पाठ बनकर सहेजे जाते हैं।
विशेषताएँ
सिर्फ़ पहली नहीं, सभी पंक्तियों से अनुमाने प्रकारों वाला CREATE TABLE
समायोज्य बैच-आकार के बहु-पंक्ति INSERT
PostgreSQL, MySQL, SQLite और SQL Server बोलियाँ
बोली-अनुसार पहचानकर्ता-उद्धरण — आरक्षित शब्द सुरक्षित
O’’Brien का दुगुना उद्धरण ही स्क्रिप्ट को वैध रखता है।
सामान्य त्रुटियाँ और समस्या निवारण
संख्यात्मक-सा स्तंभ TEXT निकला। — उस स्तंभ का कोई मान स्ट्रिंग है — उद्धरणों में "42", ख़ाली स्ट्रिंग या N/A। अनुमान हर पंक्ति देखता है और किसी भी टकराव पर TEXT चुनता है; बाहरी मान साफ़ कर दोबारा बदलें।
order या user नाम के स्तंभ पर स्क्रिप्ट गिरती है। — गिरनी नहीं चाहिए — पहचानकर्ता ठीक इसी लिए बोली-अनुसार उद्धृत हैं। गिरे तो जाँचें कि बोली डेटाबेस से मिलती है: बैकटिक MySQL के, कोष्ठक SQL Server के।
तारीख़ें सादे पाठ की तरह आयात हुईं। — सिर्फ़ ISO 8601 रूप (2024-01-15, वैकल्पिक समय) TIMESTAMP अनुमाने जाते हैं। 15/01/2024 जैसे स्थानीय रूप दुविधा भरे हैं और जान-बूझकर TEXT रहते हैं — पहले ISO में लाएँ।
अक्सर पूछे जाने वाले प्रश्न
JSON से स्तंभ-प्रकार कैसे अनुमाने जाते हैं?
स्तंभ का हर मान वोट देता है: पूर्णांक INTEGER (32 बिट पार BIGINT), कोई भी दशमलव DOUBLE PRECISION बना देता है, true/false से BOOLEAN, ISO-तारीख़ स्ट्रिंग से TIMESTAMP, और कोई भी टकराव TEXT पर थमता है। सभी पंक्तियाँ देखी जाती हैं, इसलिए बाद का दशमलव पूर्णांक-स्तंभ नहीं बिगाड़ सकता।
SQL बोलियों के बीच क्या बदलता है?
पहचानकर्ता-उद्धरण (दोहरे उद्धरण, बैकटिक, कोष्ठक), प्रकारों की वर्तनी (BOOLEAN बनाम TINYINT(1) बनाम BIT), बूलियन शब्द (TRUE बनाम 1), और वह N-उपसर्ग जो SQL Server यूनिकोड पाठ पर चाहता है।
अलग-अलग कुंजियों वाले ऑब्जेक्ट कैसे सँभलते हैं?
स्तंभ सभी पंक्तियों की कुंजियों का संघ हैं, पहली बार दिखने के क्रम में; जिस पंक्ति में कुंजी नहीं, वहाँ NULL जाता है। मिश्रित API डेटा को तालिका में उतरने का यही तरीक़ा आम तौर पर चाहिए।
क्या बनी स्क्रिप्ट प्रोडक्शन-तैयार है?
आयात-तैयार है: सुरक्षित उद्धरण और समझदार प्रकार। प्रोडक्शन तालिका को फिर भी प्राथमिक कुंजी, NOT NULL और इंडेक्स चाहिए, जो कोई अनुमान डेटा से नहीं बूझ सकता — प्रकार-सूची देखें, फिर कसें।
संबंधित टूल
CSV to SQL कन्वर्टर — CSV को MySQL, PostgreSQL, SQLite या SQL Server के लिए INSERT स्टेटमेंट में बदलें।
JSON से CSV — सपाट JSON ऑब्जेक्ट के एरे को CSV में कन्वर्ट करें।
JSON फ़ॉर्मेटर — त्रुटि की स्थिति के साथ JSON को सुंदर बनाएँ, छोटा करें और वैलिडेट करें।