मुफ्त कनवर्टर

SQL क्वेरी फ़ॉर्मेटर और हाइलाइटर

अपने ब्राउज़र में SQL क्वेरी को तुरंत फ़ॉर्मेट, सुंदर और सिंटैक्स-हाइलाइट करें। मुफ़्त, सुरक्षित, अपलोड की आवश्यकता नहीं।

.sql फ़ाइल यहाँ ड्रैग और ड्रॉप करें

या नीचे अपनी SQL क्वेरी पेस्ट करें

या

इस टूल के बारे में

SQL क्वेरीज़ तेजी से लंबी और जटिल हो जाती हैं - कई तालिकाओं, नेस्टेड सबक्वेरीज़, कई शर्तों के साथ बड़े WHERE क्लॉज़, जटिल CASE अभिव्यक्तियों में जुड़ जाती हैं। कुछ पंक्तियों में सिमटा हुआ संक्षिप्त SQL अपठनीय है; सुसंगत बड़े अक्षरों के साथ उचित रूप से इंडेंट किया गया SQL क्वेरी संरचना को एक नज़र में दृश्यमान बनाता है। फ़ॉर्मेटिंग उस क्वेरी के बीच का अंतर है जिसे आप डीबग कर सकते हैं और जिसे आप डीबग नहीं कर सकते हैं।

यह फ़ॉर्मेटर SQL को पार्स करता है और इंडेंटेड, उचित रूप से केस किए गए आउटपुट को उत्सर्जित करता है। SQL कीवर्ड (SELECT, FROM, WHERE, JOIN, GROUP BY) आम तौर पर अपरकेस होते हैं, टेबल और कॉलम नाम स्रोत से मेल खाते हैं, और इंडेंटेशन नेस्टिंग को दर्शाता है (सबक्वेरीज़ उनके माता-पिता के अंदर इंडेंट की जाती हैं, CASE शाखाएं इंडेंट की जाती हैं)। एकाधिक बोली समर्थन MySQL, PostgreSQL, SQL सर्वर, Oracle और SQLite अंतरों को संभालता है।

फ़ॉर्मेटिंग गैर-विनाशकारी है - फ़ॉर्मेट की गई क्वेरी कार्यात्मक रूप से इनपुट के समान है। केवल रिक्त स्थान और मामला बदलता है।

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

घने अस्वरूपित SQL को पढ़ना मानसिक रूप से कठिन है। यह पहचानना कि कौन सी स्थितियाँ किस JOIN से संबंधित हैं, कहाँ उपश्रेणियाँ शुरू और ख़त्म होती हैं, और CASE शाखाएँ कैसे संबंधित हैं, यह सब तब कठिन हो जाता है जब सब कुछ कुछ पंक्तियों पर होता है। स्वरूपित SQL पढ़ने में तेज़ है और गलत पढ़ने वाली संरचना से होने वाली समस्याओं को कम करता है।

कोड समीक्षा से विशेष रूप से लाभ होता है। समीक्षक तुरंत समझ सकते हैं कि जब कोई क्वेरी स्वरूपित होती है तो वह क्या करती है; समीक्षा के दौरान बिना स्वरूपित SQL को पढ़ने से स्किपिंग या रबर-स्टैंपिंग को बढ़ावा मिलता है। जब प्रश्न बदलते हैं तो स्वरूपित SQL भी सार्थक अंतर उत्पन्न करता है।

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

क्वेरी चिपकाएँ, प्रारूप पर क्लिक करें।

  1. अपना SQL चिपकाएँ: क्वेरी को इनपुट क्षेत्र में छोड़ें. सिंगल स्टेटमेंट या मल्टी-स्टेटमेंट इनपुट दोनों काम करते हैं।
  2. बोली चुनें: डिफ़ॉल्ट सामान्य SQL है. बोली-विशिष्ट कीवर्ड पहचान के लिए MySQL, PostgreSQL, SQL सर्वर, या Oracle चुनें।
  3. विकल्प कॉन्फ़िगर करें: इंडेंट आकार (आमतौर पर 2 या 4 रिक्त स्थान), कीवर्ड केस (अपरकेस सबसे आम है, लोअरकेस कुछ टीमों की प्राथमिकता है), अल्पविराम प्लेसमेंट (पीछे या आगे)।
  4. प्रारूप: स्वरूपित आउटपुट तुरंत दिखाई देता है। उपयोग के लिए कॉपी या डाउनलोड करें.

सामान्य उपयोग के मामले

तकनीकी विवरण

SQL पार्सिंग के लिए बोली को समझने की आवश्यकता होती है क्योंकि विभिन्न डेटाबेस अलग-अलग तरीकों से व्याकरण का विस्तार करते हैं। फ़ॉर्मेटर आम तौर पर कीवर्ड, पहचानकर्ता, शाब्दिक और विराम चिह्न की पहचान करने के लिए एक टोकननाइज़र का उपयोग करता है, फिर व्हाइटस्पेस और टोकन के बीच इंडेंटेशन के नियमों के साथ आउटपुट उत्पन्न करता है।

इंडेंटेशन नियम: चुनें, से, कहां से, ग्रुप बाय, ऑर्डर बाय प्रत्येक अपनी लाइन पर। FROM के अंतर्गत इंडेंट की गई बाद की पंक्तियों पर सम्मिलित तालिकाएँ। पठनीयता के लिए WHERE में स्थितियाँ अलग-अलग पंक्तियों में। अपने स्वयं के इंडेंटेड ब्लॉकों में उपश्रेणियाँ।

केस कन्वेंशन: कीवर्ड अपरकेस (SELECT, FROM, WHERE) सबसे आम है। कुछ टीमें लोअरकेस को प्राथमिकता देती हैं। पहचानकर्ता (तालिका और स्तंभ नाम) स्रोत मामले को सुरक्षित रखते हैं।

सर्वोत्तम प्रथाएँ

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

क्या फ़ॉर्मेटिंग से क्वेरी का व्यवहार बदल जाता है?
नहीं, SQL फ़ॉर्मेटिंग केवल व्हाइटस्पेस, लाइन ब्रेक और कीवर्ड केसिंग को समायोजित करता है। क्वेरी तर्क, निष्पादन योजना और परिणाम समान रहते हैं। यह पूरी तरह से पठनीयता में सुधार है।
कौन सी SQL बोलियाँ समर्थित हैं?
उपकरण मानक SQL और विशिष्ट बोलियों का समर्थन करता है: MySQL, PostgreSQL, SQLite, SQL सर्वर (T-SQL), और Oracle PL/SQL। बोली-विशिष्ट कीवर्ड और फ़ंक्शंस सही ढंग से पहचाने जाते हैं।
क्या यह सबक्वेरीज़ और सीटीई को संभालता है?
हाँ। सामान्य तालिका अभिव्यक्तियाँ (खंडों के साथ), नेस्टेड सबक्वेरीज़, विंडो फ़ंक्शंस और जटिल जॉइन चेन उचित इंडेंटेशन स्तरों के साथ स्वरूपित की जाती हैं।
क्या मैं इसे संग्रहित प्रक्रियाओं के लिए उपयोग कर सकता हूँ?
फ़ॉर्मेटर एकल SQL कथनों को सर्वोत्तम तरीके से संभालता है। बहु-कथन प्रक्रियाएँ, ट्रिगर और फ़ंक्शंस काम कर सकते हैं लेकिन जटिल प्रक्रियात्मक तर्क (IF/ELSE, लूप्स) स्वरूपण बोली पर निर्भर करता है।
क्या कीवर्ड अपरकेस या लोअरकेस होने चाहिए?
कन्वेंशन भिन्न होता है. अपरकेस कीवर्ड पारंपरिक और सामान्य हैं। आधुनिक शैली गाइडों में लोअरकेस को अपनाया जा रहा है। किसी एक को चुनें और कोडबेस के भीतर सुसंगत रहें।
क्या यह संग्रहीत प्रक्रियाओं को प्रारूपित करता है?
अधिकांश फ़ॉर्मेटर संग्रहित प्रक्रिया सिंटैक्स (प्रक्रिया बनाएं, प्रारंभ/अंत ब्लॉक, नियंत्रण प्रवाह) को संभालते हैं। बोली-विशिष्ट एक्सटेंशन आंशिक रूप से समर्थित हो सकते हैं।
क्या मेरा एसक्यूएल अपलोड हो गया है?
नहीं, फ़ॉर्मेटिंग आपके ब्राउज़र में होती है.
क्या मैं कमांड लाइन से प्रारूपित कर सकता हूँ?
कई SQL फ़ॉर्मेटर CLI टूल (sqlfluff, sql-फ़ॉर्मेटर) प्रदान करते हैं। बैच फ़ॉर्मेटिंग या सीआई एकीकरण के लिए उनका उपयोग करें। ब्राउज़र फ़ॉर्मेटर तदर्थ एकमुश्त उपयोग के लिए हैं।