SQL फ़ॉर्मैटर और Beautifier

उलझी हुई क्वेरी पेस्ट करें और साफ़, एक जैसी इंडेंट वाली SQL पाएँ। 17 डायलेक्ट, कीवर्ड केसिंग और एक-क्लिक मिनिफ़ायर समर्थित, सब आपके ब्राउज़र में।

आपके ब्राउज़र में चलता हैसाइन-अप ज़रूरी नहींकुछ भी अपलोड नहीं होता

फ़ॉर्मैट किया गया SQL

SQL फ़ॉर्मैटर का उपयोग कैसे करें

  1. इनपुट बॉक्स में एक या ज़्यादा SQL स्टेटमेंट पेस्ट करें, या कोई .sql फ़ाइल खोलें।
  2. अपना डेटाबेस डायलेक्ट चुनें ताकि उसका सिंटैक्स, जैसे :: cast, [brackets], backticks या $$ स्ट्रिंग, सही तरह पार्स हो।
  3. कीवर्ड केस (UPPER, lower या जैसा है वैसा), इंडेंटेशन और स्टेटमेंट के बीच खाली लाइनों की संख्या सेट करें।
  4. लॉग, ORM या URL पैरामीटर के लिए कमेंट और व्हाइटस्पेस हटाने हेतु मिनिफ़ाई पर स्विच करें।
  5. नतीजा कॉपी करें या .sql फ़ाइल के रूप में डाउनलोड करें।

SQL फ़ॉर्मैट क्यों करें?

ORM लॉग, query plan या एप्लिकेशन कोड से कॉपी की गई क्वेरी आमतौर पर एक लंबी लाइन में आती हैं। हर क्लॉज़ (SELECT, FROM, JOIN, WHERE, GROUP BY) को अपनी लाइन पर रखने और कॉलम व शर्तों को इंडेंट करने से लॉजिक पढ़ने लायक बनता है। इससे कोड रिव्यू के diff भी छोटे होते हैं और छूटी join शर्त या गलत जगह रखा OR पकड़ने में मदद मिलती है।

SQL स्टाइल परंपराएँ

  • Uppercase कीवर्ड (SELECT, WHERE) SQL सिंटैक्स को टेबल और कॉलम नामों से अलग करते हैं। ज़्यादातर स्टाइल गाइड यही सुझाती हैं, हालाँकि dbt और analytics टीमों में lowercase लोकप्रिय है।
  • हर लाइन में एक कॉलम से कॉलम जोड़ना या हटाना एक लाइन का diff बन जाता है।
  • क्लॉज़ और सबक्वेरी के अंदर एक जैसा इंडेंटेशन (2 या 4 स्पेस) एक नज़र में नेस्टिंग दिखाता है।
  • स्टेटमेंट टर्मिनेटर: हर स्टेटमेंट को ; से खत्म करें ताकि कई स्टेटमेंट वाली स्क्रिप्ट में कोई अस्पष्टता न रहे।

समर्थित SQL डायलेक्ट

Standard SQL, PostgreSQL, MySQL, MariaDB, SQLite, Microsoft SQL Server (T-SQL), Oracle PL/SQL, Google BigQuery, Snowflake, Amazon Redshift, Spark SQL, Trino/Presto, Hive, IBM Db2, Couchbase N1QL, SingleStore और TiDB। अगर कोई क्वेरी पार्स नहीं होती, तो ज़्यादा खास डायलेक्ट आज़माएँ: @variables, $1 पैरामीटर और वेंडर-विशिष्ट ऑपरेटर सिर्फ़ अपने डायलेक्ट में पहचाने जाते हैं।

मिनिफ़ायर क्या करता है

मिनिफ़ाई मोड --, # और /* */ कमेंट हटाता है, व्हाइटस्पेस और लाइन ब्रेक को एक स्पेस में समेटता है, और कॉमा व कोष्ठकों के आसपास के स्पेस हटाता है। स्ट्रिंग लिटरल और कोट किए गए identifier ('…', "…", `…`, […], $$…$$) बाइट-दर-बाइट कॉपी होते हैं, इसलिए क्वेरी का अर्थ कभी नहीं बदलता।

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

क्या मेरी SQL किसी सर्वर पर भेजी जाती है?
नहीं। फ़ॉर्मैटिंग आपके ब्राउज़र में चलने वाली ओपन-सोर्स sql-formatter लाइब्रेरी से होती है। टेबल नाम, ग्राहक डेटा या क्रेडेंशियल वाली क्वेरी आपकी मशीन पर ही रहती हैं।
क्या फ़ॉर्मैटिंग से क्वेरी का काम बदल जाता है?
नहीं। सिर्फ़ व्हाइटस्पेस, लाइन ब्रेक और (अगर आप चुनें तो) कीवर्ड केस बदलते हैं। Identifier, स्ट्रिंग लिटरल और कमेंट जैसे लिखे गए वैसे ही रहते हैं।
मान्य SQL पर पार्स एरर क्यों मिलता है?
क्वेरी शायद किसी दूसरे डेटाबेस का खास सिंटैक्स इस्तेमाल करती है। मेल खाता डायलेक्ट चुनें, जैसे ::type cast के लिए PostgreSQL या [bracketed] नामों और @params के लिए SQL Server।
क्या मैं एक साथ कई स्टेटमेंट फ़ॉर्मैट कर सकता हूँ?
हाँ। स्टेटमेंट को सेमीकोलन से अलग करें। आउटपुट में उनके बीच कितनी खाली लाइनें हों, यह आप चुन सकते हैं।
क्या कीवर्ड केस मेरे कॉलम नाम बदल देगा?
नहीं। सिर्फ़ आरक्षित कीवर्ड, डेटा टाइप और बिल्ट-इन फ़ंक्शन का केस बदलता है। टेबल और कॉलम नाम अपनी मूल वर्तनी में रहते हैं।

संबंधित टूल्स