इस लेख में
SQL को CSV में क्यों बदलें?
डेटाबेस एक्सपोर्ट से बनी SQL डंप फ़ाइलों में INSERT स्टेटमेंट होते हैं, जिनमें आपका डेटा SQL सिंटैक्स के अंदर समाया रहता है। डेटाबेस को रिस्टोर करने के लिए यह उपयोगी है, लेकिन इस फ़ॉर्मैट को स्प्रेडशीट ऐप्लिकेशन में खोलना, डेटा विश्लेषण पाइपलाइन में डालना, या किसी दूसरे डेटाबेस सिस्टम में इम्पोर्ट करना मुश्किल होता है। SQL को CSV में बदलने से असली डेटा एक सपाट, सार्वभौमिक फ़ॉर्मैट में निकल आता है।
CSV फ़ाइलें Excel, Google Sheets, LibreOffice और किसी भी डेटा विश्लेषण टूल में खोली जा सकती हैं। ये अधिकांश डेटाबेस, CRM और बिज़नेस ऐप्लिकेशन के लिए मानक इम्पोर्ट फ़ॉर्मैट भी हैं। SQL डंप को CSV में बदलने से आपका डेटा किसी चालू डेटाबेस सर्वर के बिना ही पोर्टेबल और आसानी से पहुँच योग्य बन जाता है।
पार्सर कैसे काम करता है
यह कन्वर्टर SQL INSERT स्टेटमेंट को पार्स करता है और उनके मानों को व्यवस्थित पंक्तियों और स्तंभों में निकाल लेता है।
- स्टेटमेंट पहचान -- INSERT INTO स्टेटमेंट को पहचानता है और उसमें से लक्ष्य टेबल का नाम तथा वैकल्पिक कॉलम सूची निकालता है
- मान निष्कर्षण -- VALUES क्लॉज़ को पार्स करता है और कोट किए गए स्ट्रिंग, संख्याओं, NULL मानों तथा एस्केप किए गए अक्षरों को सही ढंग से संभालता है
- CSV निर्माण -- निकाले गए मानों को स्तंभों से जोड़ता है और उन्हें सही ढंग से एस्केप किए गए CSV के रूप में आउटपुट करता है, जिसमें हेडर कॉलम सूची से लिए जाते हैं या अपने-आप बनाए गए कॉलम नाम इस्तेमाल होते हैं
निःशुल्क आज़माएँ — कोई साइनअप आवश्यक नहीं
SQL को CSV में बदलें →SQL एक्सपोर्ट के साथ काम करना
SQL डंप फ़ाइलें अलग-अलग डेटाबेस टूल से आती हैं, और यह कन्वर्टर लोकप्रिय डेटाबेस सिस्टम के आम एक्सपोर्ट फ़ॉर्मैट को संभालता है।
- phpMyAdmin एक्सपोर्ट -- MySQL डेटाबेस के लिए SQL डंप का सबसे आम स्रोत, जो आमतौर पर हर स्टेटमेंट में कई मान पंक्तियों वाले विस्तारित INSERT सिंटैक्स का उपयोग करता है
- pg_dump आउटपुट -- PostgreSQL एक्सपोर्ट, जिनमें स्कीमा परिभाषाएँ, सीक्वेंस और स्पष्ट कॉलम सूची वाले INSERT स्टेटमेंट शामिल हो सकते हैं
- MySQL Workbench -- ऐसे एक्सपोर्ट जिनमें CREATE TABLE स्टेटमेंट, ट्रिगर और मानक MySQL सिंटैक्स वाले INSERT स्टेटमेंट शामिल हो सकते हैं
- मैन्युअल SQL फ़ाइलें -- हाथ से लिखे या स्क्रिप्ट से बनाए गए INSERT स्टेटमेंट, जो डेटा सीडिंग या माइग्रेशन के लिए इस्तेमाल होते हैं
अक्सर पूछे जाने वाले सवाल
कौन-कौन से SQL डायलेक्ट समर्थित हैं?
यह पार्सर MySQL, PostgreSQL, SQLite और MariaDB द्वारा इस्तेमाल किए जाने वाले मानक INSERT INTO सिंटैक्स को संभालता है। यह एकल-पंक्ति और बहु-पंक्ति दोनों INSERT स्टेटमेंट का समर्थन करता है, साथ ही बैकटिक-कोट पहचानकर्ता (MySQL शैली), डबल-कोट पहचानकर्ता (PostgreSQL/मानक SQL) और स्क्वायर-ब्रैकेट पहचानकर्ता (SQL Server) को भी। CREATE TABLE और अन्य DDL स्टेटमेंट को अनदेखा किया जाता है।
CSV आउटपुट में NULL मानों को कैसे संभाला जाता है?
SQL NULL मानों को CSV आउटपुट में खाली सेल में बदल दिया जाता है। CSV फ़ाइलों में लुप्त डेटा दर्शाने की यही मानक परंपरा है। अगर आपको आउटपुट में शाब्दिक स्ट्रिंग NULL चाहिए, तो मूल SQL मान को SQL कीवर्ड NULL के बजाय एक स्ट्रिंग ('NULL') के रूप में कोट किया जाना चाहिए।
क्या यह बड़ी SQL डंप फ़ाइलों को संभाल सकता है?
यह टूल फ़ाइलों को ब्राउज़र में ही प्रोसेस करता है, इसलिए प्रदर्शन उपलब्ध मेमोरी पर निर्भर करता है। 50 MB तक की फ़ाइलें आमतौर पर बिना किसी परेशानी के प्रोसेस हो जाती हैं। लाखों पंक्तियों वाले बहुत बड़े डंप के लिए, बदलने से पहले SQL फ़ाइल को बाँटने या awk जैसे कमांड-लाइन टूल से विशिष्ट टेबल निकालने पर विचार करें।
कैरेक्टर एन्कोडिंग के बारे में क्या?
यह कन्वर्टर इनपुट फ़ाइल की एन्कोडिंग का सम्मान करता है। SQL डंप आमतौर पर UTF-8 एन्कोडेड होते हैं। अगर आपका डंप latin1 या Windows-1252 जैसी किसी दूसरी एन्कोडिंग का उपयोग करता है, तो विशेष अक्षरों को सही ढंग से बनाए रखने के लिए बदलने से पहले उसे किसी टेक्स्ट एडिटर या iconv कमांड-लाइन टूल से UTF-8 में बदल लें।