Pack Camo

SQL फ़ॉर्मैटर और ब्यूटीफ़ायर

PostgreSQL, MySQL, SQLite, SQL Server और अन्य के लिए SQL को इंडेंट करें और व्यवस्थित करें।

सब कुछ लोकल तौर पर चलता है — कुछ भी अपलोड नहीं होता।

SQL

7 लाइनें · 442 अक्षर

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

फ़ॉर्मैट हो रहा है…

आपकी डायलेक्ट में पढ़ने लायक SQL

यह SQL फ़ॉर्मैटर किसी भी लंबाई की क्वेरी लेता है, एक साथ कई स्टेटमेंट भी, और उन्हें एक जैसा इंडेंट करता है: हर लाइन में एक क्लॉज़, कॉलम और शर्तें एक सीध में, और कीवर्ड आपकी पसंद के केस में। यह पंद्रह से ज़्यादा डायलेक्ट का सिंटैक्स समझता है, PostgreSQL, MySQL और SQL Server से लेकर BigQuery, Snowflake और Oracle PL/SQL तक, इसलिए हर डायलेक्ट के खास ऑपरेटर, कोटिंग और प्लेसहोल्डर वैसे ही रहते हैं। कॉन्फ़िग फ़ाइल या कोड की स्ट्रिंग के लिए क्वेरी को फिर से एक लाइन में बदलने हेतु मिनिफ़ाई पर जाएँ। सब कुछ आपके ब्राउज़र में चलता है; आपकी क्वेरी कभी अपलोड नहीं होतीं।

SQL क्वेरी कैसे फ़ॉर्मैट करें

  1. 1अपना SQL बाएँ पैनल में पेस्ट करें, या सैंपल क्वेरी से शुरू करें।
  2. 2वह डायलेक्ट चुनें जिसमें क्वेरी लिखी है। ज़्यादातर सरल क्वेरी के लिए Standard SQL काफ़ी है; PostgreSQL के :: कास्ट, MySQL के बैकटिक आइडेंटिफ़ायर या SQL Server के [brackets] जैसी चीज़ों के लिए सही डायलेक्ट चुनना ज़रूरी है।
  3. 3कीवर्ड केस और इंडेंटेशन सेट करें, और डेटा टाइप व फ़ंक्शन केस, टेबुलर इंडेंटेशन, AND/OR की जगह और स्टेटमेंट के बीच खाली लाइनों के लिए और विकल्प खोलें।
  4. 4टाइप करते ही फ़ॉर्मैट की गई क्वेरी दाईं ओर दिखती है। अगर क्वेरी पार्स नहीं हो पाती, तो समस्या की लाइन और कॉलम दिखाए जाते हैं।
  5. 5नतीजा कॉपी करें, उसे .sql फ़ाइल के रूप में डाउनलोड करें, या उसे एक लाइन में समेटने के लिए मिनिफ़ाई चुनें।

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

SQL एक बार लिखा जाता है और कई बार पढ़ा जाता है: कोड रिव्यू में, स्लो-क्वेरी लॉग में, उस माइग्रेशन में जिसे किसी को रात 2 बजे डीबग करना पड़ता है। ORM से बनी या लॉग से कॉपी की गई क्वेरी आमतौर पर एक बहुत लंबी लाइन के रूप में आती है। हर क्लॉज़ को अपनी लाइन में रखने और सबक्वेरी को इंडेंट करने से उसकी संरचना दिखने लगती है: कौन-सी टेबल जॉइन हो रही हैं, किस आधार पर, और कौन-सी शर्तें कहाँ लागू होती हैं।

एक जैसी फ़ॉर्मैटिंग से diff भी छोटे होते हैं। जब पूरी टीम क्वेरी एक ही तरह फ़ॉर्मैट करती है, तो बदली हुई शर्त पूरे पैराग्राफ़ के बदलाव की बजाय एक लाइन के बदलाव के रूप में दिखती है।

फ़ॉर्मैटिंग विकल्पों की जानकारी

कीवर्ड केस
UPPER से SELECT, FROM और WHERE टेबल और कॉलम नामों से अलग दिखते हैं, यह सबसे आम परंपरा है। lower उन टीमों के लिए ठीक है जिन्हें बड़े अक्षर भारी लगते हैं। जैसा है वैसा कीवर्ड को वैसे ही छोड़ता है जैसे आपने टाइप किए।
इंडेंटेशन
दो या चार स्पेस, या टैब। टेबुलर स्टाइल इसके बजाय कीवर्ड को एक तय चौड़ाई वाले कॉलम तक भरते हैं ताकि उनके बाद के एक्सप्रेशन एक सीध में आएँ।
AND / OR की जगह
लाइन की शुरुआत में हर लॉजिकल ऑपरेटर को लाइन के आरंभ में रखता है, जिससे किसी एक शर्त को कमेंट करना आसान होता है; लाइन के अंत में उसे पिछली लाइन के आखिर में छोड़ता है।
एक्सप्रेशन चौड़ाई
कोष्ठक वाले एक्सप्रेशन जो इतने अक्षरों से छोटे हैं, एक लाइन में रहते हैं; लंबे वाले तोड़ दिए जाते हैं।
सटे हुए ऑपरेटर
a + b की जगह a+b लिखता है। छोटा, पर पढ़ने में कठिन।

सही डायलेक्ट चुनना

SQL डायलेक्ट आपकी सोच से ज़्यादा बातों में अलग होते हैं: आइडेंटिफ़ायर कैसे कोट होते हैं ("name", `name` या [name]), प्लेसहोल्डर कैसा दिखता है (?, $1, :name, @param), और कौन-से शब्द आरक्षित हैं। फ़ॉर्मैटर हर डायलेक्ट के लिए अलग ग्रामर इस्तेमाल करता है, इसलिए वह PostgreSQL के $$ फ़ंक्शन बॉडी या MySQL के # कमेंट को कुछ और नहीं समझता।

अगर किसी ऐसी क्वेरी पर पार्स एरर दिखे जिसे आप सही जानते हैं, तो सबसे पहले डायलेक्ट जाँचें। Standard SQL जानबूझकर सख्त है और हर वेंडर एक्सटेंशन को नहीं जानता।

SQL मिनिफ़ाई करना

मिनिफ़ाई फ़ॉर्मैटिंग का उल्टा है: यह कमेंट हटाता है और सारे व्हाइटस्पेस को एक-एक स्पेस में समेट देता है, जिससे एक लाइन मिलती है जिसे आप YAML फ़ाइल, एनवायरनमेंट वेरिएबल या स्ट्रिंग लिटरल में पेस्ट कर सकते हैं। स्ट्रिंग लिटरल, कोट किए गए आइडेंटिफ़ायर और डॉलर-कोटेड बॉडी हूबहू कॉपी होते हैं, इसलिए 'two spaces' जैसी वैल्यू में दोनों स्पेस बने रहते हैं। /*+ … */ के रूप में लिखे ऑप्टिमाइज़र हिंट और MySQL के एक्ज़ीक्यूटेबल /*! … */ कमेंट रखे जाते हैं, क्योंकि वे क्वेरी के चलने का तरीका बदलते हैं।

JSON के साथ काम कर रहे हैं? JSON फ़ॉर्मैटर और वैलिडेटर JSON दस्तावेज़ों के लिए यही करता है, और कोड मिनिफ़ायर CSS, JavaScript और HTML संभालता है।

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

क्या मेरा SQL किसी सर्वर पर भेजा जाता है?
नहीं। फ़ॉर्मैटिंग और मिनिफ़ाई पूरी तरह आपके ब्राउज़र में चलते हैं, इसलिए टेबल नाम, ग्राहक डेटा या क्रेडेंशियल वाली क्वेरी कभी आपके डिवाइस से बाहर नहीं जातीं।
कौन-से SQL डायलेक्ट सपोर्ट होते हैं?
Standard SQL, PostgreSQL, MySQL, MariaDB, SQLite, SQL Server (T-SQL), Oracle PL/SQL, BigQuery, Snowflake, Amazon Redshift, Spark SQL, Hive, Trino और Presto, DuckDB, ClickHouse, IBM Db2 और Db2 for IBM i, SingleStoreDB, TiDB और Couchbase N1QL।
क्या फ़ॉर्मैटिंग से मेरी क्वेरी का काम बदल जाता है?
नहीं। सिर्फ़ व्हाइटस्पेस बदलता है और, अगर आप चुनें, तो कीवर्ड, डेटा टाइप और फ़ंक्शन का केस। कोट किए गए आइडेंटिफ़ायर और स्ट्रिंग लिटरल कभी नहीं बदले जाते। बिना कोट वाले आइडेंटिफ़ायर का केस बदलना ज़्यादातर डेटाबेस में सुरक्षित है, लेकिन अगर आपका डेटाबेस उन्हें केस-सेंसिटिव मानता है तो इसे जैसा है वैसा पर रखें।
मुझे पार्स एरर क्यों मिलता है?
या तो क्वेरी में सिंटैक्स एरर है, जैसे बिना बंद कोष्ठक या कोट, या वह ऐसा सिंटैक्स इस्तेमाल करती है जो चुने गए डायलेक्ट में नहीं है। मैसेज वह लाइन और कॉलम दिखाता है जहाँ पार्सिंग रुकी; वह डायलेक्ट आज़माएँ जो आपका डेटाबेस असल में इस्तेमाल करता है।
क्या मैं एक साथ कई स्टेटमेंट फ़ॉर्मैट कर सकता हूँ?
हाँ। उन्हें सेमीकोलन से अलग करें और हर एक बारी-बारी से फ़ॉर्मैट होगा, बीच में उतनी खाली लाइनों के साथ जितनी आप चुनें।
क्या कमेंट बने रहते हैं?
फ़ॉर्मैट करते समय हाँ: लाइन और ब्लॉक कमेंट अपनी जगह रहते हैं। मिनिफ़ाई उन्हें हटा देता है, सिवाय ऑप्टिमाइज़र हिंट और MySQL एक्ज़ीक्यूटेबल कमेंट के।
SQL क्वेरी को एक लाइन में कैसे मिनिफ़ाई करें?
टूल के ऊपर मिनिफ़ाई चुनें। कमेंट हटा दिए जाते हैं और व्हाइटस्पेस समेट दिया जाता है, जबकि स्ट्रिंग लिटरल और कोट किए गए आइडेंटिफ़ायर ठीक वैसे ही रहते हैं जैसे लिखे गए थे।