SQL फॉर्मेटर टूल

0 अक्षर

GeekFormat SQL फॉर्मेटर टूल गन्दे SQL क्वेरी कथनों को तेज़ी से सुंदर और व्यवस्थित करता है। MySQL, PostgreSQL, SQLite, SQL Server, Oracle आदि सहित 20 डेटाबेस बोलियों का समर्थन करता है, जिसमें कीवर्ड केस, इंडेंट शैली, ऑपरेटर न्यूलाइन पोजीशन, एक्सप्रेशन चौड़ाई जैसे अनुकूलन योग्य फॉर्मेटिंग विकल्प हैं। बिल्ट-इन SQL मिनीफिकेशन और सिंटैक्स सत्यापन फ़ंक्शन के साथ 4 एक-क्लिक प्रीसेट शैलियाँ प्रदान करता है, फ़ाइल अपलोड/डाउनलोड, URL शेयरिंग, कीबोर्ड शॉर्टकट का समर्थन करता है। CodeMirror 6 संपादक के आधार पर सिंटैक्स हाइलाइटिंग और समायोज्य पैनल लेआउट प्रदान करता है, इनपुट के बाद रियल-टाइम ऑटो-फॉर्मेटिंग के साथ। सभी प्रोसेसिंग आपके ब्राउज़र में स्थानीय रूप से होती है—SQL कथन कभी भी सर्वर पर अपलोड नहीं किए जाते हैं।

संबंधित सुझाव

SQL फॉर्मेटिंग के बारे में

SQL फॉर्मेटिंग (SQL Formatting / SQL Beautification) स्वचालित टूल के माध्यम से SQL कथनों के व्हाइटस्पेस वर्णों (न्यूलाइन, इंडेंटेशन, स्पेस) और कीवर्ड केस को समायोजित करने को संदर्भित करता है ताकि उन्हें सुसंगत, अत्यधिक पठनीय लेआउट संरचना मिल सके। एक घोषणात्मक क्वेरी भाषा के रूप में, एक जटिल SQL क्वेरी में अक्सर मल्टी-टेबल JOIN, नेस्टेड सबक्वेरी, कई WHERE शर्तें, GROUP BY ग्रुपिंग, HAVING फ़िल्टरिंग, ORDER BY सॉर्टिंग आदि जैसे कई क्लॉज शामिल होते हैं। बिना फॉर्मेटिंग के, सभी सामग्री एक पंक्ति में या अव्यवस्थित इंडेंटेशन के साथ होने से पठनीयता और रखरखाव दक्षता गंभीर रूप से प्रभावित होती है। फॉर्मेट की गई SQL उचित न्यूलाइन और इंडेंटेशन के माध्यम से प्रत्येक क्लॉज को अपनी पंक्ति पर रखती है, इंडेंटेशन के माध्यम से नेस्टिंग स्तर व्यक्त करती है, जिससे पाठक क्वेरी संरचना को तेज़ी से समझ सकते हैं।

SQL फॉर्मेटिंग क्यों महत्वपूर्ण है? टीम सहयोग वातावरण में, विभिन्न डेवलपर्स की अलग-अलग कोडिंग शैली प्राथमिकताएँ होती हैं—कुछ कीवर्ड अपरकेस पसंद करते हैं, अन्य लोअरकेस; कुछ 2-स्पेस इंडेंटेशन का उपयोग करते हैं, अन्य 4 स्पेस या Tab का उपयोग करते हैं; कुछ AND को पंक्ति की शुरुआत में रखते हैं, अन्य अंत में रखते हैं। ये शैली अंतर स्वयं SQL निष्पादन को प्रभावित नहीं करते हैं लेकिन कोड समीक्षा (Code Review) के दौरान बड़ी मात्रा में अर्थहीन डिफ उत्पन्न करते हैं, जिससे समीक्षकों को वास्तविक तार्किक परिवर्तनों और केवल फॉर्मेटिंग समायोजन के बीच अंतर करना पड़ता है। एकीकृत SQL फॉर्मेटिंग मानक और स्वचालित फॉर्मेटिंग टूल शैली बहस को समाप्त करते हैं, जिससे टीमें व्यावसायिक तर्क पर ही ध्यान केंद्रित कर सकती हैं।

SQL फॉर्मेटिंग के मुख्य नियमों में आमतौर पर निम्नलिखित पहलू शामिल होते हैं: पहला, कीवर्ड केस—SELECT, FROM, WHERE, JOIN, ON, GROUP BY, ORDER BY, HAVING, LIMIT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP जैसे SQL आरक्षित शब्द आमतौर पर पहचानकर्ताओं से अलग करने के लिए अपरकेस होते हैं (या टीम मानकों के अनुसार समान रूप से लोअरकेस); दूसरा, क्लॉज न्यूलाइन—प्रत्येक मुख्य क्लॉज (SELECT/FROM/WHERE/GROUP BY/ORDER BY आदि) अपनी पंक्ति पर; तीसरा, कॉलम नाम संरेखण—SELECT सूची में कई कॉलम नाम प्रत्येक एक पंक्ति पर और लंबवत रूप से संरेखित; चौथा, इंडेंटेशन स्तर—सबक्वेरी, JOIN शर्तें, नेस्टेड CASE एक्सप्रेशन आदि इंडेंटेशन बढ़ाकर पदानुक्रम दर्शाते हैं; पांचवां, ऑपरेटर स्थिति—AND/OR जैसे लॉजिकल ऑपरेटर समान रूप से पंक्ति की शुरुआत या अंत में रखे जाते हैं।

विभिन्न डेटाबेस बोलियों के लिए SQL फॉर्मेटिंग की अपनी विशेषताएँ होती हैं। MySQL पहचानकर्ताओं को उद्धृत करने के लिए बैकटिक (`) का उपयोग करता है, PostgreSQL डबल कोट (") का उपयोग करता है, SQL Server स्क्वायर ब्रैकेट ([]) का उपयोग करता है; MySQL पेजिनेशन के लिए LIMIT का उपयोग करता है, PostgreSQL LIMIT/OFFSET का समर्थन करता है, SQL Server TOP या OFFSET/FETCH का उपयोग करता है, Oracle ROWNUM का उपयोग करता है; PostgreSQL में :: टाइप कास्ट ऑपरेटर है, MySQL में बैकटिक एस्केपिंग है, SQL Server में स्क्वायर ब्रैकेट पहचानकर्ता हैं। ये बोली अंतर फॉर्मेटर को विशिष्ट डेटाबेस के सिंटैक्स तत्वों को पहचानने की आवश्यकता होती है, अन्यथा विशेष सिंटैक्स को त्रुटि के रूप में गलत तरीके से आंका जा सकता है या कीवर्ड गलत तरीके से विभाजित किए जा सकते हैं। यह टूल sql-formatter लाइब्रेरी के आधार पर कार्यान्वित है, जो 20 मुख्यधारा की SQL बोलियों के लिए विशेष सिंटैक्स समर्थन प्रदान करता है।

SQL मिनीफिकेशन (SQL Minification) फॉर्मेटिंग का विपरीत कार्य है और कुछ परिदृश्यों में बहुत उपयोगी है। एप्लिकेशन लॉग में मुद्रित SQL, ORM फ्रेमवर्क (जैसे Hibernate, MyBatis, Django ORM, SQLAlchemy) द्वारा उत्पन्न SQL, डेटाबेस प्रदर्शन निगरानी टूल द्वारा कैप्चर किया गया SQL—ये अक्सर न्यूलाइन-रहित सिंगल-लाइन संकुचित प्रारूप में होते हैं, जो समस्या निवारण के लिए बहुत अनुकूल नहीं होते हैं—पढ़ने से पहले फॉर्मेट करने की आवश्यकता होती है। इसके विपरीत, जब SQL को कोड स्ट्रिंग में एम्बेड करने की आवश्यकता हो (जैसे Java/Python/JavaScript में स्ट्रिंग कॉन्टेनेशन), कॉन्फ़िगरेशन फ़ाइलों में लिखना, URL पैरामीटर के माध्यम से भेजना, या मल्टी-लाइन टेक्स्ट का समर्थन नहीं करने वाले चैट टूल में साझा करना हो, तो सिंगल लाइन में संकुचित करना न्यूलाइन और इंडेंटेशन के कारण होने वाली फॉर्मेटिंग समस्याओं से बचाता है।

उपयुक्त फॉर्मेटिंग शैली चुनना टीम मानकों और उपयोग परिदृश्यों पर विचार करने की आवश्यकता है। कीवर्ड अपरकेस शैली SQL की पारंपरिक परंपरा है—मुद्रण युग में, अपरकेस कीवर्ड हस्तलिखित या टाइपराइटर-आउटपुट SQL को अधिक पठनीय बनाते थे, और आज भी कई टीमें और संगठन इसका उपयोग करते हैं। कीवर्ड लोअरकेस शैली GitHub जैसे आधुनिक कोड प्लेटफार्मों पर तेजी से लोकप्रिय हो रही है क्योंकि लोअरकेस दृष्टि से नरम होता है और, आधुनिक संपादकों में सिंटैक्स हाइलाइटिंग के साथ, अब कीवर्ड को अलग करने के लिए केस की आवश्यकता नहीं रह जाती है। 2-स्पेस इंडेंट चौड़ाई फ्रंटएंड डेवलपर्स के बीच अधिक सामान्य है, 4 स्पेस बैकएंड Java/C# डेवलपर्स के बीच अधिक प्रचलित है। टैब इंडेंट विभिन्न डेवलपर्स को संपादक में प्रदर्शन चौड़ाई को अनुकूलित करने की अनुमति देता है। लंबी शर्त सूचियाँ पढ़ते समय लॉजिकल ऑपरेटर AND/OR को पंक्ति की शुरुआत में रखना प्रत्येक शर्त को स्कैन करना आसान बनाता है; अंत में रखना अंग्रेजी पढ़ने की आदतों के अनुरूप है।

SQL फॉर्मेटिंग टूल के कार्यान्वयन सिद्धांत मुख्य रूप से लेक्सिकल विश्लेषण (Tokenization) और सिंटैक्स पार्सिंग पर आधारित होते हैं। sql-formatter जैसी लाइब्रेरी पहले SQL स्ट्रिंग को टोकन की एक श्रृंखला में विघटित करती हैं (कीवर्ड, पहचानकर्ता, लिटरल, ऑपरेटर, विराम चिह्न, टिप्पणियाँ आदि), फिर सिंटैक्स नियमों के अनुसार इन टोकन को पुनर्व्यवस्थित करती हैं (विभिन्न बोलियों के नियम सेट अलग-अलग होते हैं), उपयुक्त स्थानों पर न्यूलाइन और इंडेंटेशन डालती हैं। सामान्य कोड फॉर्मेटर (जैसे Prettier) के विपरीत, SQL फॉर्मेटर को सही इंडेंटेशन के लिए SQL की विशिष्ट व्याकरणिक संरचनाओं (जैसे JOIN...ON शर्तें, CASE WHEN...END एक्सप्रेशन, सबक्वेरी कोष्ठक नेस्टिंग) को समझने की आवश्यकता होती है, न कि केवल कर्ली ब्रेस या कोष्ठक मिलान पर निर्भर रहना।

SQL फॉर्मेटिंग टूल का उपयोग करते समय निम्नलिखित बातों पर ध्यान दें: पहला, फॉर्मेटिंग SQL की शब्दार्थिक शुद्धता को सत्यापित नहीं करती है—सही सिंटैक्स लेकिन तार्किक त्रुटियों वाली SQL (जैसे गलत JOIN शर्तें, गुम WHERE शर्तें) फॉर्मेट करने के बाद भी गलत रहेगी; फॉर्मेटिंग केवल लेआउट में सुधार करती है, तर्क में नहीं; दूसरा, फॉर्मेटिंग टूल दुर्लभ किनारे के मामलों में व्हाइटस्पेस-संवेदी परिदृश्यों (जैसे स्ट्रिंग स्थिरांक के भीतर स्पेस, विशिष्ट टिप्पणी स्थान) में मूल SQL से भिन्न परिणाम उत्पन्न कर सकते हैं; फॉर्मेटिंग के बाद सरल सत्यापन की सिफारिश की जाती है; तीसरा, विशेष रूप से डायनेमिक पैरामीटर वाली SQL का बिना परीक्षण के उत्पादन वातावरण में सीधे निष्पादन न करें; चौथा, संवेदनशील डेटा (पासवर्ड, कुंजियाँ, PII) वाली SQL के लिए, डेटा लीकेज जोखिम से बचने के लिए ऑनलाइन टूल के बजाय स्थानीय फॉर्मेटिंग टूल (जैसे यह टूल) का उपयोग करें।

उपयोग के मामले

  • विरासत परियोजनाओं को संभालते समय बिना फॉर्मेट के बड़े SQL संग्रहीत प्रक्रियाओं और जटिल JOIN क्वेरीज़ को व्यवस्थित करें ताकि व्यावसायिक तर्क को तेज़ी से समझा जा सके
  • टीम कोड समीक्षा से पहले SQL शैली को मानकीकृत करें ताकि व्यक्तिगत फॉर्मेटिंग प्राथमिकताओं के कारण होने वाले डिफ़ शोर को समाप्त किया जा सके और तर्क समीक्षा पर ध्यान केंद्रित किया जा सके
  • लॉग या कंसोल से कॉपी की गई संकुचित सिंगल-लाइन SQL को फॉर्मेट करें ताकि पढ़ने और समस्या निवारण में आसानी हो
  • तकनीकी दस्तावेज़ और ब्लॉग लिखते समय SQL उदाहरणों को फॉर्मेट करें ताकि दस्तावेज़ों में एम्बेड करते समय व्यावसायिकता और पठनीयता बढ़े
  • डेटाबेस क्लाइंट से निर्यात की गई गन्दे फॉर्मेट वाली SQL को कोड कमिट करने से पहले टीम-मानक शैली में पुनः फॉर्मेट करें
  • साक्षात्कार या तकनीकी प्रस्तुतियों की तैयारी करते समय SQL प्रदर्शन कथनों को PPT और व्हाइटबोर्ड स्पष्टीकरण में उपयोग के लिए फॉर्मेट करें
  • SQL त्रुटियों का निवारण करते समय गन्दे नेस्टेड सबक्वेरीज़ को फॉर्मेट करें ताकि बेमेल कोष्ठक या गुम कीवर्ड जैसी संरचनात्मक समस्याओं का पता लगाया जा सके
  • ORM फ्रेमवर्क द्वारा उत्पन्न SQL लॉग अक्सर न्यूलाइन-रहित संकुचित प्रारूप में होते हैं; वास्तव में निष्पादित क्वेरीज़ का विश्लेषण आसान बनाने के लिए उन्हें फॉर्मेट करें
  • डेटा माइग्रेशन स्क्रिप्ट विकसित करते समय CREATE TABLE और INSERT कथनों को फॉर्मेट करें ताकि रखरखाव में सुधार हो
  • विभिन्न संस्करणों में SQL संस्करणों की तुलना करने से पहले फॉर्मेटिंग को मानकीकृत करें ताकि शुद्ध फॉर्मेटिंग अंतर कोड समीक्षा में हस्तक्षेप न करें
  • SQL सीखते समय नमूना क्वेरीज़ को फॉर्मेट करें ताकि स्पष्ट इंडेंटेशन और न्यूलाइन के माध्यम से JOIN, सबक्वेरी, GROUP BY के पदानुक्रमित संबंधों को समझा जा सके
  • सहकर्मियों के साथ SQL स्निपेट साझा करने से पहले फॉर्मेट करें और फिर URL लिंक के माध्यम से साझा करें—प्राप्तकर्ता खोलते ही समान फॉर्मेटेड परिणाम देखते हैं

उपयोग कैसे करें

  1. डेटाबेस बोली चुनें (डिफ़ॉल्ट MySQL, 20 SQL बोलियों का समर्थन करता है) ताकि यह सुनिश्चित हो कि फॉर्मेटर सिंटैक्स को सही ढंग से पहचानता है
  2. फॉर्मेट करने के लिए SQL कथनों को बाएं संपादक क्षेत्र में पेस्ट करें, या .sql/.txt फ़ाइलें आयात करने के लिए अपलोड बटन पर क्लिक करें, या नमूना मेनू से नमूना SQL लोड करें
  3. फॉर्मेट बटन (Shift+Cmd/Ctrl+F) पर क्लिक करें या ऑटो-फॉर्मेटिंग की प्रतीक्षा करें (इनपुट के 800ms बाद स्वचालित रूप से ट्रिगर होता है), फॉर्मेट किए गए परिणाम दाईं ओर तुरंत प्रदर्शित होते हैं
  4. फॉर्मेटिंग समायोजित करने के लिए, कॉन्फ़िगरेशन पैनल का विस्तार करने के लिए सेटिंग्स बटन पर क्लिक करें, कीवर्ड केस, इंडेंटेशन, न्यूलाइन जैसे विकल्पों को समायोजित करें, या प्रीसेट शैली चुनें; सिंगल-लाइन मिनीफिकेशन के लिए, मिनीफाई बटन पर क्लिक करें
  5. परिणाम कॉपी करने के लिए कॉपी बटन पर क्लिक करें, या .sql फ़ाइल के रूप में सहेजने के लिए डाउनलोड बटन पर क्लिक करें, या SQL सामग्री युक्त URL लिंक बनाने के लिए शेयर बटन पर क्लिक करें

विशेषताएं

  • 20 डेटाबेस बोली संगतता: Standard SQL, MySQL, MariaDB, TiDB, PostgreSQL, SQLite, BigQuery, Snowflake, Redshift, DB2, PL/SQL (Oracle), T-SQL (SQL Server), Spark SQL, Hive, Trino, ClickHouse, DuckDB आदि सहित 20 SQL बोलियों के लिए सिंटैक्स पहचान और फॉर्मेटिंग का समर्थन करता है
  • कीवर्ड केस नियंत्रण: SELECT/FROM/WHERE/JOIN जैसे कीवर्ड के लिए तीन मोड: अपरकेस (UPPER), लोअरकेस (lower), या मूल बनाए रखें (preserve), डेटा प्रकारों और फ़ंक्शन नामों के लिए अलग कॉन्फ़िगरेशन के साथ
  • पहचानकर्ता केस नियंत्रण: तालिका नाम, कॉलम नाम, उपनाम जैसे पहचानकर्ता अपरकेस, लोअरकेस, या मूल बनाए रखने का समर्थन करते हैं, विभिन्न टीम कोडिंग मानकों के अनुकूल
  • चयन योग्य इंडेंट शैलियाँ: तीन इंडेंट शैलियाँ उपलब्ध हैं: मानक इंडेंट, टेबुलर लेफ्ट अलाइनमेंट (tabularLeft), टेबुलर राइट अलाइनमेंट (tabularRight) विभिन्न पढ़ने की प्राथमिकताओं को पूरा करने के लिए
  • लचीला इंडेंट कॉन्फ़िगरेशन: इंडेंट चौड़ाई को 2 स्पेस, 4 स्पेस, या Tab वर्ण से चुनें; क्वेरी कथनों के बीच रिक्त पंक्तियों की संख्या को 0/1/2 पंक्तियाँ सेट करें
  • लॉजिकल ऑपरेटर न्यूलाइन: AND/OR जैसे लॉजिकल ऑपरेटर ऑपरेटर से पहले (before) या बाद (after) लाइन ब्रेक करें या नहीं, यह कॉन्फ़िगर करें ताकि यह आपकी टीम की कोड शैली से मेल खाए
  • एक्सप्रेशन चौड़ाई नियंत्रण: एक्सप्रेशन रैपिंग के लिए समायोज्य लाइन चौड़ाई सीमा (20-200 वर्ण), इस चौड़ाई से अधिक होने पर स्वचालित रूप से लाइन रैप करता है ताकि सिंगल-लाइन कोड लंबाई नियंत्रित हो
  • डेंस ऑपरेटर मोड: सक्षम होने पर, ऑपरेटरों के चारों ओर अतिरिक्त स्पेस नहीं होते हैं, जिससे अधिक कॉम्पैक्ट फॉर्मेटिंग परिणाम मिलते हैं, एम्बेडेड SQL परिदृश्यों के लिए उपयुक्त
  • सेमीकोलन से पहले न्यूलाइन: वैकल्पिक रूप से कथन-समाप्ति सेमीकोलन से पहले एक न्यूलाइन डालें, सेमीकोलन को अपनी लाइन पर रखें ताकि कथन सीमा की त्वरित पहचान हो
  • 4 प्रीसेट शैलियाँ: डिफ़ॉल्ट (UPPER कीवर्ड + 2-स्पेस इंडेंट), लोअरकेस (सभी कीवर्ड लोअरकेस), कॉम्पैक्ट (टेबुलर अलाइनमेंट + डेंस ऑपरेटर), स्पेशियस (4-स्पेस इंडेंट + डबल रिक्त पंक्तियाँ) प्रीसेट के बीच एक क्लिक से स्विच करें, बिना मैन्युअल समायोजन के
  • SQL मिनीफिकेशन फ़ंक्शन: एक क्लिक से SQL को सिंगल लाइन में संकुचित करें, स्वचालित रूप से टिप्पणियाँ, अतिरिक्त व्हाइटस्पेस और न्यूलाइन हटाएं—लॉग आउटपुट, कोड कॉन्टेनेशन और दस्तावेज़ एम्बेडिंग के लिए आदर्श
  • सिंटैक्स सत्यापन फ़ंक्शन: बुनियादी SQL सिंटैक्स सत्यापन, फॉर्मेटिंग विफल होने पर त्रुटि संदेश प्रदर्शित करता है ताकि सिंटैक्स समस्याओं का पता लगाने में मदद मिले
  • बिल्ट-इन नमूना SQL: चार नमूना SQL सेट प्रदान करता है: बुनियादी क्वेरीज़, जटिल JOIN क्वेरीज़, एकाधिक-कथन बैच, CREATE TABLE कथन त्वरित फॉर्मेटिंग अनुभव के लिए
  • फ़ाइल अपलोड/डाउनलोड: SQL को सीधे आयात करने के लिए .sql/.txt फ़ाइलें अपलोड करें; सहेजने के लिए फॉर्मेट किए गए परिणामों को .sql फ़ाइल के रूप में डाउनलोड करें
  • URL शेयरिंग: LZ-String कंप्रेशन का उपयोग करके SQL को URL हैश में एन्कोड करें—फॉर्मेटिंग कॉन्फ़िगरेशन और SQL सामग्री साझा करने के लिए लिंक कॉपी करें
  • रियल-टाइम ऑटो-फॉर्मेटिंग: SQL इनपुट के बाद 800ms डीबाउंस के साथ ऑटो-फॉर्मेट, बार-बार बटन क्लिक किए बिना तुरंत परिणाम दिखाता है
  • कीबोर्ड शॉर्टकट: फॉर्मेट के लिए Shift+Cmd/Ctrl+F, मिनीफाई के लिए Shift+Cmd/Ctrl+C, सत्यापित करने के लिए Shift+Cmd/Ctrl+V, अपलोड के लिए Shift+Cmd/Ctrl+O, डाउनलोड के लिए Shift+Cmd/Ctrl+D, साफ़ करने के लिए Shift+Cmd/Ctrl+K
  • CodeMirror संपादक: CodeMirror 6 पर आधारित SQL सिंटैक्स-हाइलाइटेड संपादक, जिसमें ड्रैग करने योग्य बाएं/दाएं पैनल चौड़ाई समायोजन, फ़ॉन्ट आकार समायोजन और इतिहास पैनल है
  • एक क्लिक से परिणाम कॉपी करें: फॉर्मेट किए गए या मिनीफाइड SQL को एक क्लिक से क्लिपबोर्ड पर कॉपी करें ताकि सीधे डेटाबेस क्लाइंट या कोड में पेस्ट किया जा सके
  • शुद्ध ब्राउज़र-स्थानीय प्रोसेसिंग: सभी SQL फॉर्मेटिंग ब्राउज़र जावास्क्रिप्ट में sql-formatter लाइब्रेरी के आधार पर पूरी होती है; SQL कथन कभी भी किसी सर्वर पर अपलोड नहीं किए जाते हैं, डेटा सुरक्षा सुनिश्चित करते हुए

सामान्य प्रश्न

क्या SQL फॉर्मेटिंग क्वेरी तर्क को बदलती है? क्या फॉर्मेट की गई SQL को सीधे निष्पादित किया जा सकता है?

यह क्वेरी तर्क को नहीं बदलता है। SQL फॉर्मेटिंग केवल व्हाइटस्पेस वर्णों (न्यूलाइन, इंडेंटेशन, स्पेस) और कीवर्ड केस को समायोजित करती है; यह SQL में पहचानकर्ताओं, मानों, ऑपरेटरों, फ़ंक्शन कॉल या क्वेरी संरचना को संशोधित नहीं करती है। फॉर्मेट की गई SQL मूल SQL के शब्दार्थ रूप से समतुल्य होती है और इसे सीधे MySQL Workbench, pgAdmin, DBeaver, Navicat जैसे डेटाबेस क्लाइंट में निष्पादन के लिए कॉपी किया जा सकता है। हालांकि, उत्पादन में निष्पादन से पहले परीक्षण वातावरण में सत्यापन की सिफारिश की जाती है।

कौन सी डेटाबेस बोलियाँ समर्थित हैं? विभिन्न डेटाबेस के बीच SQL सिंटैक्स अंतर के बारे में क्या?

20 SQL बोलियों का समर्थन करता है: Standard SQL, MySQL, MariaDB, TiDB, PostgreSQL, SQLite, BigQuery, Snowflake, Redshift, DB2, DB2i, PL/SQL (Oracle), T-SQL (SQL Server), Spark SQL, Hive, Trino, ClickHouse, SingleStoreDB, DuckDB, N1QL (Couchbase)। विभिन्न डेटाबेस में पेजिनेशन सिंटैक्स (LIMIT बनाम LIMIT/OFFSET बनाम TOP बनाम ROWNUM), स्ट्रिंग कॉन्टेनेशन, दिनांक फ़ंक्शन, पहचानकर्ता कोटिंग (बैकटिक बनाम डबल कोट बनाम स्क्वायर ब्रैकेट) आदि में अंतर होते हैं। सही बोली का चयन करना सुनिश्चित करता है कि फॉर्मेटर कीवर्ड और फ़ंक्शन नामों को सही ढंग से पहचानता है और बोली-विशिष्ट फ़ंक्शन को गलत तरीके से फॉर्मेट करने से बचता है।

SQL मिनीफिकेशन क्या है? यह फॉर्मेटिंग से कैसे अलग है?

SQL मिनीफिकेशन (Minify) फॉर्मेटिंग का विपरीत कार्य है: सभी टिप्पणियाँ (/* */ मल्टी-लाइन टिप्पणियाँ और -- सिंगल-लाइन टिप्पणियाँ शामिल हैं) हटाता है, लगातार व्हाइटस्पेस वर्णों को सिंगल स्पेस में मर्ज करता है, कोष्ठक/अल्पविराम/सेमीकोलन/ऑपरेटरों के चारों ओर अतिरिक्त स्पेस हटाता है, कॉम्पैक्ट सिंगल-लाइन SQL आउटपुट करता है। मिनीफिकेशन कोड स्ट्रिंग में SQL एम्बेड करने, लॉग फ़ाइलों में लिखने, URL पैरामीटर के माध्यम से भेजने, न्यूलाइन भ्रम से बचने के लिए चैट विंडो में साझा करने जैसे परिदृश्यों के लिए उपयुक्त है। दूसरी ओर, फॉर्मेटिंग पठनीयता में सुधार के लिए उपयुक्त न्यूलाइन और इंडेंटेशन जोड़ती है।

ऑटो-फॉर्मेटिंग कब ट्रिगर होती है? क्या इसे अक्षम किया जा सकता है?

बाएं संपादक क्षेत्र में SQL इनपुट या संशोधित करने के बाद, 800ms डीबाउंस विलंब के बाद फॉर्मेटिंग स्वचालित रूप से ट्रिगर होती है (बशर्ते पिछली फॉर्मेटिंग में कोई सिंटैक्स त्रुटि न हो)। यह आपके टाइप करना बंद करने के बाद तुरंत फॉर्मेटिंग परिणाम दिखाने के लिए है। यदि आप मैन्युअल नियंत्रण पसंद करते हैं, तो ऑटो-ट्रिगर की प्रतीक्षा किए बिना बस टूलबार में फॉर्मेट बटन पर क्लिक करें। वर्तमान में ऑटो-फॉर्मेटिंग को अक्षम करने के लिए कोई अलग स्विच नहीं है, लेकिन जब तक इनपुट सामग्री संशोधित नहीं होती है यह बार-बार ट्रिगर नहीं होगा।

जब फॉर्मेटिंग सिंटैक्स त्रुटि संकेत के साथ विफल हो जाए तो क्या करें?

फॉर्मेटर जब अपार्स करने योग्य SQL सिंटैक्स का सामना करता है तो त्रुटि की रिपोर्ट करता है। सामान्य कारणों में शामिल हैं: 1) बेमेल कोष्ठक—जांचें कि बाएं और दाएं कोष्ठकों की संख्या मेल खाती है या नहीं; 2) बंद न हुए स्ट्रिंग—जांचें कि सिंगल कोट/डबल कोट जोड़े में दिखाई दे रहे हैं या नहीं, स्ट्रिंग के भीतर कोट को एस्केप करने की आवश्यकता होती है (जैसे '' या \'); 3) गलत डेटाबेस बोली चयन—उदाहरण के लिए, PostgreSQL-विशिष्ट :: टाइप कास्ट सिंटैक्स का उपयोग करना लेकिन MySQL बोली का चयन करना; 4) अधूरा SQL फ्रैगमेंट—उदाहरण के लिए, केवल WHERE शर्तें हों बिना SELECT FROM के। त्रुटि संदेश पार्सर द्वारा रिपोर्ट की गई समस्या का स्थान और कारण दिखाते हैं, जिनका उपयोग समस्या का पता लगाने के लिए किया जा सकता है। आप सिंटैक्स की जांच के लिए पहले सत्यापन बटन (Shift+Cmd/Ctrl+V) पर भी क्लिक कर सकते हैं।

अपरकेस, लोअरकेस, और कीवर्ड केस बनाए रखने के मोड के बीच कैसे चुनें?

अपरकेस कीवर्ड (UPPER) सबसे पारंपरिक और लोकप्रिय SQL कोडिंग शैली है—SELECT/FROM/WHERE/JOIN जैसे अपरकेस कीवर्ड तालिका/कॉलम नामों के साथ दृश्य अंतर बनाते हैं, जिससे बड़े कोडबेस में SQL संरचना का त्वरित पता लगाया जा सकता है। लोअरकेस कीवर्ड आधुनिक IDE वातावरण के लिए अधिक उपयुक्त हैं (आधुनिक संपादकों में सिंटैक्स हाइलाइटिंग होती है, अब केस अंतर पर निर्भर नहीं रहते) अधिक समान दृश्य उपस्थिति के साथ। बनाए रखें (preserve) आपके इनपुट केस को अपरिवर्तित छोड़ देता है, मौजूदा कोड में न्यूनतम फॉर्मेटिंग समायोजन के लिए उपयुक्त है। कीवर्ड, पहचानकर्ता (तालिका/कॉलम नाम), डेटा प्रकार (VARCHAR/INT/BIGINT), और फ़ंक्शन नामों (COUNT/SUM/COALESCE) के लिए केस रणनीतियाँ स्वतंत्र रूप से कॉन्फ़िगर की जा सकती हैं।

टेबुलर अलाइनमेंट मोड और मानक इंडेंटेशन के बीच क्या अंतर है?

मानक इंडेंटेशन (standard) प्रत्येक क्लॉज के लिए निश्चित स्पेस संख्या के साथ पारंपरिक पदानुक्रमित इंडेंटेशन का उपयोग करता है। टेबुलर लेफ्ट/राइट अलाइनमेंट मोड SELECT सूचियों में कॉलम नामों, WHERE शर्तों में एक्सप्रेशन आदि को कॉलम के अनुसार संरेखित करते हैं, जिससे तालिका जैसा दृश्य प्रभाव बनता है। उदाहरण के लिए, SELECT के बाद कई कॉलम नाम लंबवत रूप से संरेखित होते हैं, और AS उपनाम भी समान कॉलम स्थान पर संरेखित होते हैं। यह मोड वाइडस्क्रीन मॉनिटर पर मल्टी-कॉलम क्वेरी पढ़ते समय बहुत सहज है लेकिन संकीर्ण स्क्रीन पर अत्यधिक लंबी लाइनें पैदा कर सकता है।

टीम-मानक SQL शैली और व्यक्तिगत प्राथमिकता के बीच जल्दी से कैसे स्विच करें?

सेटिंग्स पैनल में प्रीसेट बटन का उपयोग करें: डिफ़ॉल्ट (UPPER कीवर्ड + 2-स्पेस मानक इंडेंट), लोअरकेस (सभी कीवर्ड लोअरकेस), कॉम्पैक्ट (tabularLeft अलाइनमेंट + डेंस ऑपरेटर), स्पेशियस (4-स्पेस इंडेंट + क्वेरी के बीच डबल रिक्त पंक्तियाँ)। यदि आपकी टीम के विशिष्ट मानक हैं, तो विकल्पों को मैन्युअल रूप से समायोजित करें और फॉर्मेट करें। कस्टम प्रीसेट सेविंग वर्तमान में समर्थित नहीं है, लेकिन सीमित कॉन्फ़िगरेशन विकल्पों के साथ, त्वरित समायोजन सुविधाजनक है।

क्या फॉर्मेट की गई SQL में टिप्पणियाँ खो जाती हैं?

फॉर्मेट (Format) ऑपरेशन टिप्पणियों को बनाए रखता है—-- सिंगल-लाइन टिप्पणियाँ और /* */ मल्टी-लाइन टिप्पणियाँ दोनों अपने मूल स्थान के पास बनाए रखी जाती हैं (विशिष्ट स्थान sql-formatter लाइब्रेरी के टिप्पणी प्रोसेसिंग तर्क पर निर्भर करते हैं)। हालांकि, कॉम्प्रेस (Compress) ऑपरेशन सबसे कॉम्पैक्ट सिंगल-लाइन SQL बनाने के लिए सभी टिप्पणियाँ हटा देता है; कंप्रेशन से पहले यदि टिप्पणियाँ बनाए रखने की आवश्यकता हो तो पहले फॉर्मेट किए गए परिणाम कॉपी करें।

कौन से कीबोर्ड शॉर्टकट समर्थित हैं? Mac और Windows/Linux के बीच क्या अंतर है?

निम्नलिखित शॉर्टकट समर्थित हैं (Mac पर Cmd कुंजी का उपयोग करें, Windows/Linux पर Ctrl कुंजी का उपयोग करें, सभी को एक साथ Shift दबाने की आवश्यकता है): Shift+Cmd/Ctrl+F फॉर्मेट; Shift+Cmd/Ctrl+C मिनीफाई; Shift+Cmd/Ctrl+V सिंटैक्स सत्यापन; Shift+Cmd/Ctrl+O फ़ाइल अपलोड; Shift+Cmd/Ctrl+D फ़ाइल डाउनलोड; Shift+Cmd/Ctrl+K सामग्री साफ़ करें। कीबोर्ड शॉर्टकट सूची कभी भी देखने के लिए टूलबार में प्रश्न चिह्न आइकन पर क्लिक करें।

क्या SQL फ़ाइल अपलोड के लिए आकार सीमा है? कौन से फ़ाइल प्रारूप समर्थित हैं?

.sql और .txt प्रारूपों में टेक्स्ट फ़ाइलें अपलोड करने का समर्थन करता है। सैद्धांतिक रूप से फ़ाइल आकार पर कोई कठोर सीमा नहीं है, लेकिन बहुत बड़ी फ़ाइलों (जैसे 1MB से अधिक SQL डंप फ़ाइलें) के ब्राउज़र प्रोसेसिंग में प्रदर्शन समस्याएँ हो सकती हैं। व्यक्तिगत क्वेरी या छोटे पैमाने पर स्क्रिप्ट फ़ाइलों को प्रोसेस करने की सिफारिश की जाती है। बहुत बड़ी SQL फ़ाइलों (जैसे पूर्ण डेटाबेस डंप) के लिए, फॉर्मेट करने से पहले छोटे खंडों में विभाजित करें। फ़ाइल सामग्री ब्राउज़र FileReader API के माध्यम से पढ़ी जाती है और कभी भी सर्वर पर अपलोड नहीं की जाती है।

क्या URL शेयरिंग सुविधा सुरक्षित है? क्या सर्वर SQL सामग्री देख सकते हैं?

URL शेयरिंग सुविधा LZ-String का उपयोग करके SQL सामग्री को कंप्रेस करती है और इसे URL के हैश भाग (# के बाद की सामग्री) में एन्कोड करती है। URL हैश भाग की विशेषता यह है कि यह HTTP अनुरोधों के साथ सर्वर पर कभी नहीं भेजा जाता है, केवल ब्राउज़र में स्थानीय रूप से प्रोसेस किया जाता है। जब आप किसी अन्य को शेयर लिंक कॉपी करते हैं, तो उनका ब्राउज़र हैश को पार्स करता है और SQL सामग्री प्रदर्शित करने के लिए इसे डीकंप्रेस करता है—पूरी प्रक्रिया के दौरान SQL किसी भी सर्वर से नहीं गुजरता है। हालांकि, ध्यान दें कि शेयर लिंक में पूरी SQL सामग्री होती है; यदि SQL में संवेदनशील जानकारी (जैसे पासवर्ड, कुंजियाँ, व्यक्तिगत डेटा) है, तो सार्वजनिक चैनलों में लिंक साझा न करें।

क्या एकाधिक SQL कथनों वाली स्क्रिप्ट को फॉर्मेट किया जा सकता है?

हाँ। टूल एकाधिक SQL कथनों की बैच फॉर्मेटिंग का समर्थन करता है (उदाहरण के लिए, सेमीकोलन द्वारा अलग किए गए कई SELECT/INSERT/UPDATE/CREATE TABLE कथन)। आप सेटिंग्स पैनल में "क्वेरी के बीच रिक्त पंक्तियाँ" विकल्प के माध्यम से कथनों के बीच रिक्ति (0/1/2 पंक्तियाँ) नियंत्रित कर सकते हैं। एकाधिक-कथन फॉर्मेटिंग का अनुभव करने के लिए "एकाधिक कथन" नमूना SQL लोड करें। प्रत्येक कथन स्वतंत्र रूप से इंडेंट और फॉर्मेट किया जाता है, कथनों के बीच कॉन्फ़िगर की गई रिक्त पंक्तियों की संख्या से अलग किया जाता है।

SQL कथनों का कौन सा आकार लैग का कारण बनता है?

sql-formatter लाइब्रेरी के शुद्ध जावास्क्रिप्ट कार्यान्वयन के आधार पर, कुछ सौ पंक्तियों के भीतर SQL प्रोसेस करना आधुनिक ब्राउज़रों में आमतौर पर मिलीसेकंड में प्रतिक्रिया देता है, बिना ध्यान देने योग्य लैग के। यहां तक कि हजारों पंक्तियों की संग्रहीत प्रक्रियाएं या जटिल क्वेरी 1 सेकंड के भीतर पूरी हो जाती हैं। सभी गणनाएं ब्राउज़र मुख्य थ्रेड पर पूरी होती हैं; बहुत बड़ी फ़ाइलें (जैसे 10,000 पंक्तियों से अधिक SQL डंप) संक्षिप्त इंटरफ़ेस फ्रीज़ का कारण बन सकती हैं—बैच प्रोसेसिंग की सिफारिश की जाती है।

क्या टूल को इंटरनेट एक्सेस की आवश्यकता है? क्या SQL डेटा सुरक्षित है?

पेज लोड होने के बाद ऑफ़लाइन काम करता है; SQL फॉर्मेटिंग, मिनीफिकेशन और सत्यापन सभी ब्राउज़र-स्थानीय जावास्क्रिप्ट में पूरे होते हैं, बिना आपके इनपुट किए गए SQL कथनों को किसी बाहरी सर्वर पर भेजे। कुकी ट्रैकिंग का उपयोग नहीं करता है या उपयोगकर्ता-इनपुट SQL सामग्री एकत्र नहीं करता है। परिपक्व ओपन-सोर्स sql-formatter लाइब्रेरी के आधार पर कार्यान्वित, पारदर्शी और ऑडिट करने योग्य कोड तर्क के साथ।

समस्या निवारण

"Parse error" या "SQL फॉर्मेटिंग विफल" फॉर्मेटिंग त्रुटियों के बारे में क्या करें?

फॉर्मेटर sql-formatter लाइब्रेरी के आधार पर SQL पार्सिंग करता है और अपरिचित सिंटैक्स का सामना करने पर त्रुटि की रिपोर्ट करता है। सामान्य कारण और समाधान: 1) बेमेल कोष्ठक—जांचें कि बाएं और दाएं कोष्ठकों की संख्या मेल खाती है या नहीं, जांच में सहायता के लिए संपादक की कोष्ठक मिलान हाइलाइट सुविधा का उपयोग करें; 2) बंद न हुए स्ट्रिंग कोट—जांचें कि सिंगल कोट, डबल कोट जोड़े में दिखाई दे रहे हैं या नहीं, स्ट्रिंग के भीतर कोट को एस्केप करने की आवश्यकता होती है (जैसे '' या \'); 3) गलत डेटाबेस बोली चयन—उदाहरण के लिए, PostgreSQL के :: ऑपरेटर का उपयोग करना लेकिन MySQL बोली का चयन करना, सही बोली पर स्विच करें; 4) अधूरा SQL कथन—उदाहरण के लिए, केवल WHERE क्लॉज हो बिना SELECT FROM के; 5) बहुत ही विशेष डेटाबेस-विशिष्ट सिंटैक्स का उपयोग करना (जैसे कुछ संग्रहीत प्रक्रिया नियंत्रण प्रवाह), निकटतम बोली पर स्विच करने का प्रयास करें, या फॉर्मेट करने से पहले SQL फ्रैगमेंट को सरल बनाएं।

फॉर्मेट करने के बाद चीनी या विशेष वर्ण विकृत हो जाते हैं?

यह टूल पूरी तरह से UTF-8 एन्कोडिंग का समर्थन करता है; चीनी और यूनिकोड वर्ण फॉर्मेटिंग प्रक्रिया के दौरान अपरिवर्तित रहते हैं। यदि विकृत वर्ण दिखाई देते हैं, तो यह आमतौर पर इसलिए होता है क्योंकि आपके द्वारा पेस्ट किया गया SQL स्वयं गलत एन्कोडिंग वाली फ़ाइलों से आता है (जैसे GBK-एन्कोडेड फ़ाइलों से कॉपी करना)। सुनिश्चित करें कि स्रोत फ़ाइलें UTF-8 एन्कोडिंग का उपयोग करके सहेजी गई हैं, या पेस्ट करने से पहले फ़ाइलों को UTF-8 एन्कोडिंग में कनवर्ट करें। ब्राउज़र-साइड CodeMirror संपादक डिफ़ॉल्ट रूप से UTF-8 का उपयोग करता है और एन्कोडिंग रूपांतरण पेश नहीं करता है।

SQL फ़ाइल अपलोड करने के बाद कोई प्रतिक्रिया नहीं या खाली प्रदर्शित होता है?

फ़ाइल अपलोड केवल .sql और .txt एक्सटेंशन वाली टेक्स्ट फ़ाइलों का समर्थन करता है। यदि फ़ाइलें बाइनरी प्रारूप की हैं (जैसे .sqlite डेटाबेस फ़ाइलें, .doc दस्तावेज़), तो वे अपलोड के बाद विकृत या खाली दिखाई देती हैं। इसके अलावा, कुछ ब्राउज़रों में जावास्क्रिप्ट के माध्यम से स्थानीय फ़ाइलें पढ़ने पर सुरक्षा प्रतिबंध होते हैं—सुनिश्चित करें कि आप ड्रैग-एंड-ड्रॉप (ड्रैग-एंड-ड्रॉप अपलोड वर्तमान में समर्थित नहीं है) के बजाय अपलोड बटन पर सक्रिय रूप से क्लिक करके फ़ाइलें चुनते हैं। फ़ाइल आकार 1MB से अधिक नहीं होने की सिफारिश की जाती है; अधिक होने पर ब्राउज़र पार्सिंग धीमी हो सकती है।

फॉर्मेट करने के बाद कुछ कीवर्ड लोअरकेस/अपरकेस हो जाते हैं, जो मूल इनपुट से असंगत हैं?

यह सामान्य फॉर्मेटिंग व्यवहार है। कीवर्ड केस (keywordCase) विकल्प डिफ़ॉल्ट रूप से UPPER पर सेट होता है, जो SQL कीवर्ड को समान रूप से अपरकेस में परिवर्तित करता है। यदि आप मूल केस को अपरिवर्तित रखना चाहते हैं, तो सेटिंग्स पैनल में कीवर्ड, पहचानकर्ता, डेटा प्रकार, फ़ंक्शन के लिए केस विकल्पों को "बनाए रखें (preserve)" पर सेट करें—इस तरह फॉर्मेटर केवल न्यूलाइन और इंडेंटेशन को समायोजित करेगा, किसी भी अक्षर के केस को नहीं बदलेगा।

शब्दकोश

SQL बोली (SQL Dialect)
विभिन्न डेटाबेस प्रबंधन प्रणालियों (DBMS) द्वारा मानक SQL के विस्तार और संस्करण। उदाहरण के लिए, MySQL का LIMIT, PostgreSQL का :: टाइप कास्ट, SQL Server का TOP, Oracle का ROWNUM सभी बोली-विशिष्ट सिंटैक्स हैं। फॉर्मेटिंग के दौरान सही बोली का चयन सही सिंटैक्स पार्सिंग सुनिश्चित करता है।
कीवर्ड केस (Keyword Case)
SQL आरक्षित शब्दों (SELECT/FROM/WHERE/JOIN आदि) के लिए केस रणनीति। अपरकेस (UPPER) पारंपरिक शैली है, लोअरकेस (lower) आधुनिक विकास में तेजी से लोकप्रिय हो रहा है, न्यूनतम परिवर्तनों के लिए बनाए रखें (preserve)।
पहचानकर्ता (Identifier)
SQL में डेटाबेस ऑब्जेक्ट नाम, जिसमें डेटाबेस नाम, तालिका नाम, कॉलम नाम, उपनाम, इंडेक्स नाम, व्यू नाम, संग्रहीत प्रक्रिया नाम आदि शामिल हैं। विभिन्न डेटाबेस पहचानकर्ताओं को अलग-अलग तरीके से उद्धृत करते हैं: MySQL बैकटिक का उपयोग करता है, PostgreSQL डबल कोट का उपयोग करता है, SQL Server स्क्वायर ब्रैकेट का उपयोग करता है।
इंडेंट शैली (Indent Style)
SQL फॉर्मेटिंग के दौरान इंडेंटेशन संरेखण को नियंत्रित करता है। मानक इंडेंट पदानुक्रमित प्रगति का उपयोग करता है; tabularLeft/tabularRight कॉलम नामों और उपनामों को टेबुलर रूप में संरेखित करते हैं, वाइडस्क्रीन पर बेहतर पठनीयता लेकिन लंबी लाइनें उत्पन्न कर सकते हैं।
लॉजिकल ऑपरेटर न्यूलाइन (Logical Operator Newline)
मल्टी-लाइन शर्तों में AND/OR जैसे लॉजिकल ऑपरेटरों की न्यूलाइन स्थिति। before का अर्थ है ऑपरेटर अगली पंक्ति की शुरुआत में, after का अर्थ है ऑपरेटर वर्तमान पंक्ति के अंत में। विभिन्न टीमों की अलग-अलग प्राथमिकताएँ होती हैं।
एक्सप्रेशन चौड़ाई (Expression Width)
रैपिंग को ट्रिगर करने वाली सिंगल-लाइन वर्ण संख्या सीमा (20-200 वर्ण)। इस चौड़ाई से अधिक एक्सप्रेशन रैप किए जाते हैं, जो कोड संपादक में printWidth/ruler सेटिंग्स के समान है।
डेंस ऑपरेटर (Dense Operators)
एक फॉर्मेटिंग विकल्प, जो सक्षम होने पर, ऑपरेटरों (=, <, >, +, -, आदि) के चारों ओर अतिरिक्त स्पेस नहीं छोड़ता है, जैसे `WHERE id=1 AND status='active'` बजाय `WHERE id = 1 AND status = 'active'` के, अधिक कॉम्पैक्ट आउटपुट उत्पन्न करता है।
क्वेरी के बीच रिक्त पंक्तियाँ (Lines Between Queries)
एकाधिक SQL कथनों के बीच रिक्त पंक्तियों की संख्या। 0 का अर्थ है सन्निहित व्यवस्था, 1 का अर्थ है एक रिक्त पंक्ति पृथक्करण (सामान्य), 2 का अर्थ है दो रिक्त पंक्तियाँ (स्पेशियस शैली), मल्टी-स्टेटमेंट स्क्रिप्ट की पठनीयता को प्रभावित करता है।
SQL मिनीफाई/कॉम्प्रेस (SQL Minify/Compress)
फॉर्मेट की गई SQL से सभी टिप्पणियाँ और अतिरिक्त व्हाइटस्पेस हटाता है, सिंगल-लाइन कॉम्पैक्ट प्रारूप में मर्ज करता है। लॉग आउटपुट, कोड एम्बेडिंग, URL ट्रांसमिशन आदि के लिए उपयुक्त—फॉर्मेटिंग का विपरीत कार्य।
प्रिटी प्रिंट (Pretty Print)
स्वचालित इंडेंटेशन और न्यूलाइन के माध्यम से कोड या डेटा का अत्यधिक पठनीय प्रारूप में आउटपुट। SQL Pretty Print SQL फॉर्मेटिंग सौंदर्यीकरण है, जो Minify (कॉम्प्रेशन) के विपरीत है।
CodeMirror
इस टूल द्वारा उपयोग किया जाने वाला ब्राउज़र-साइड कोड संपादक घटक (संस्करण 6), जो SQL सिंटैक्स हाइलाइटिंग, लाइन नंबर प्रदर्शन, कोड फोल्डिंग और अन्य संपादन संवर्द्धन प्रदान करता है—उद्योग में व्यापक रूप से उपयोग किया जाने वाला वेब कोड संपादक समाधान।
sql-formatter
इस टूल के मूल में उपयोग की जाने वाली ओपन-सोर्स SQL फॉर्मेटिंग लाइब्रेरी, जो एकाधिक SQL बोलियों के लिए लेक्सिकल विश्लेषण और फॉर्मेटेड आउटपुट का समर्थन करती है—फ्रंटएंड इकोसिस्टम में सबसे लोकप्रिय SQL फॉर्मेटिंग लाइब्रेरी में से एक।

समर्थित SQL बोलियों की सूची

यह टूल 20 SQL डेटाबेस बोलियों का समर्थन करता है—अपने डेटाबेस से मेल खाने वाली बोली का चयन करने से इष्टतम फॉर्मेटिंग परिणाम मिलते हैं:

बोलीडेटाबेसविवरण
Standard SQLमानक SQLANSI SQL मानक सिंटैक्स, सामान्य परिदृश्यों और अज्ञात बोलियों के लिए उपयुक्त
MySQLMySQL / TiDBसबसे लोकप्रिय ओपन-सोर्स रिलेशनल डेटाबेस, बैकटिक पहचानकर्ता, LIMIT पेजिनेशन
MariaDBMariaDBMySQL का फोर्क, विस्तारित फ़ंक्शनों के साथ MySQL-संगत सिंटैक्स
PostgreSQLPostgreSQLसुविधा संपन्न ओपन-सोर्स डेटाबेस, डबल-कोट पहचानकर्ता, :: टाइप कास्ट
SQLiteSQLiteएम्बेडेड लाइटवेट डेटाबेस, मोबाइल एप्लिकेशन और ब्राउज़रों में आमतौर पर उपयोग किया जाता है
T-SQLSQL Server / AzureMicrosoft SQL Server का Transact-SQL, स्क्वायर ब्रैकेट पहचानकर्ता, TOP पेजिनेशन
PL/SQLOracleOracle का प्रक्रियात्मक SQL विस्तार, ROWNUM पेजिनेशन, समृद्ध बिल्ट-इन पैकेज
BigQueryGoogle BigQueryGoogle क्लाउड डेटा वेयरहाउस, STRUCT/ARRAY जैसे नेस्टेड प्रकारों का समर्थन करता है
SnowflakeSnowflakeमजबूत अर्ध-संरचित डेटा प्रोसेसिंग क्षमताओं वाला क्लाउड-नेटिव डेटा वेयरहाउस
RedshiftAWS RedshiftAmazon Web Services डेटा वेयरहाउस, PostgreSQL पर आधारित लेकिन मालिकाना सिंटैक्स के साथ

फॉर्मेटिंग प्रीसेट शैली तुलना

विभिन्न उपयोग परिदृश्यों के लिए 4 एक-क्लिक प्रीसेट शैलियाँ:

प्रीसेटकीवर्डइंडेंटेशनऑपरेटरक्वेरी स्पेसिंग
डिफ़ॉल्टUPPER2 स्पेस मानकसामान्य स्पेसिंग1 रिक्त पंक्ति
लोअरकेसlower2 स्पेस मानकसामान्य स्पेसिंग1 रिक्त पंक्ति
कॉम्पैक्टUPPERटेबुलर लेफ्टडेंस मोड1 रिक्त पंक्ति
स्पेशियसUPPER4 स्पेस मानकसामान्य स्पेसिंग2 रिक्त पंक्तियाँ

कीबोर्ड शॉर्टकट अवलोकन

सभी शॉर्टकट के लिए संशोधक कुंजी + Shift + संबंधित अक्षर कुंजी को एक साथ दबाना आवश्यक है:

क्रियाMacWindows/Linuxविवरण
फॉर्मेट⇧⌘FShift+Ctrl+FSQL कथनों को सुंदर बनाएं, न्यूलाइन और इंडेंटेशन जोड़ें
मिनीफाई⇧⌘CShift+Ctrl+CSQL को सिंगल लाइन में संकुचित करें, टिप्पणियाँ और व्हाइटस्पेस हटाएं
सत्यापन⇧⌘VShift+Ctrl+VSQL सिंटैक्स शुद्धता की जांच करें
अपलोड⇧⌘OShift+Ctrl+Oस्थानीय फ़ाइल से .sql/.txt लोड करें
डाउनलोड⇧⌘DShift+Ctrl+Dपरिणामों को .sql फ़ाइल के रूप में सहेजें
साफ़ करें⇧⌘KShift+Ctrl+Kइनपुट और आउटपुट सामग्री साफ़ करें

Privacy & Security

इस SQL फॉर्मेटर टूल के सभी ऑपरेशन पूरी तरह से आपके ब्राउज़र में स्थानीय रूप से पूरे होते हैं: आपके द्वारा इनपुट किए गए SQL कथन, चयनित बोली, और फॉर्मेटिंग कॉन्फ़िगरेशन सभी sql-formatter लाइब्रेरी के माध्यम से ब्राउज़र जावास्क्रिप्ट में प्रोसेस किए जाते हैं, बिना नेटवर्क पर किसी बाहरी सर्वर पर कोई SQL सामग्री या कॉन्फ़िगरेशन भेजे। फ़ाइल अपलोड HTML5 FileReader API के माध्यम से स्थानीय फ़ाइल सामग्री पढ़ता है, बिना नेटवर्क ट्रांसमिशन के। URL शेयरिंग सुविधा संकुचित SQL को URL हैश भाग में एन्कोड करती है (# के बाद की सामग्री HTTP अनुरोधों के साथ सर्वर पर कभी नहीं भेजी जाती है), केवल ब्राउज़र में स्थानीय रूप से डीकंप्रेस और प्रदर्शित की जाती है। कुकी ट्रैकिंग का उपयोग नहीं करता है या उपयोगकर्ता-इनपुट SQL सामग्री या उपयोग व्यवहार डेटा एकत्र नहीं करता है। पेज बंद करने या रीफ्रेश करने के बाद, इनपुट सामग्री और कॉन्फ़िगरेशन स्थिति स्वचालित रूप से रीसेट हो जाती है (इतिहास रिकॉर्ड केवल स्थानीय localStorage में सहेजे जाते हैं)।

Authoritative References