SQL Format

अपना SQL नीचे दिए गए बॉक्स में पेस्ट करें और इसे फ़ॉर्मैट करने के लिए उपलब्ध विकल्पों का उपयोग करें। SQL-Format को डेटाबेस प्रशासकों ने उद्योग और बड़ी टेक कंपनियों के मानकों के अनुसार बनाया है। आनंद लें!

फ़ॉर्मेटिंग विकल्प
पंक्तियाँ: 1 वर्ण: 0 पंक्ति 1, स्तंभ 1 SQL · UTF-8

SQL Format क्या है और यह किसके लिए है

SQL Format एक मुफ़्त ऑनलाइन फ़ॉर्मैटर है जो ठसाठस भरे, एक ही लाइन में लिखे या असंगत इंडेंटेशन वाले SQL को साफ़ और अनुमानित लेआउट में बदल देता है। हर क्लॉज़ अपनी अलग लाइन से शुरू होता है, कॉलम सूचियाँ प्रति लाइन एक आइटम में बँट जाती हैं, जॉइन और उनकी शर्तें उस टेबल के नीचे इंडेंट होती हैं जिससे वे जुड़ी हैं, और नेस्टेड क्वेरी अपने कोष्ठकों के भीतर इंडेंट होती हैं।

यह उन लोगों के लिए बनाया गया है जो दिन भर SQL पढ़ते हैं: पुल रिक्वेस्ट की समीक्षा करने वाले डेवलपर, लॉग से पकड़ी गई धीमी क्वेरी को सुलझाने वाले DBA, रिपोर्ट साझा करने से पहले उसे व्यवस्थित करने वाले विश्लेषक, और हर वह व्यक्ति जिसे एक ही लाइन में लिखा 300 लाइनों का स्टेटमेंट विरासत में मिला है। लेआउट उन परंपराओं का पालन करता है जिन्हें डेटाबेस टीमें लंबे समय से इस्तेमाल करती आई हैं, और नीचे दिए विकल्पों से आप इसे अपनी टीम की शैली के अनुरूप बना सकते हैं।

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

  1. अपना SQL एडिटर में पेस्ट करें या टाइप करें। आप एक साथ कई स्टेटमेंट पेस्ट कर सकते हैं; वे सेमीकोलन पर अलग किए जाते हैं और एक के बाद एक फ़ॉर्मैट होते हैं।
  2. ज़रूरत हो तो विकल्प बदलें: इंडेंट का आकार, अधिकतम लाइन चौड़ाई, अल्पविराम की स्थिति, कीवर्ड का केस, और खुलने वाले कोष्ठक अपनी अलग लाइन पर जाएँ या नहीं।
  3. फ़ॉर्मैट करें पर क्लिक करें या Ctrl + Enter दबाएँ (Mac पर ⌘ + Enter)। फ़ॉर्मैट किया गया SQL एडिटर के टेक्स्ट की जगह ले लेता है।
  4. परिणाम को क्लिपबोर्ड पर रखने के लिए कॉपी करें का उपयोग करें, या फिर से शुरू करने के लिए साफ़ करें का। स्टेटस बार लाइनों और अक्षरों की संख्या तथा आपके कर्सर की स्थिति दिखाता है।

फ़ॉर्मेटिंग विकल्प

पाँच विकल्प आउटपुट को नियंत्रित करते हैं। डिफ़ॉल्ट मान (4-स्पेस इंडेंट, 120 कॉलम, बाद में अल्पविराम, बड़े अक्षरों में कीवर्ड, कोष्ठक उसी लाइन पर) अधिकांश टीमों के लिए उपयुक्त हैं; हर विकल्प का अपना पेज है जिसमें और उदाहरण दिए गए हैं।

इंडेंट स्पेस

इंडेंट स्पेस यह तय करता है कि हर नेस्टिंग स्तर कितने स्पेस इस्तेमाल करे, 0 से ऊपर; डिफ़ॉल्ट 4 है। आपके इनपुट के टैब कैरेक्टर उतने ही स्पेस से बदल दिए जाते हैं, सिवाय स्ट्रिंग लिटरल और कोटेड आइडेंटिफ़ायर के अंदर के। नीचे दिया उदाहरण 2 का उपयोग करता है।

बाद में, SQL Format द्वारा फ़ॉर्मैट किया गया
विकल्प: इंडेंट स्पेस 2 · अधिकतम कॉलम 120 · अल्पविराम: बाद में · कीवर्ड: बड़े अक्षर · कोष्ठक नई पंक्ति पर: नहीं
SELECT c.name,
  SUM(o.total) AS revenue
FROM customers c
  JOIN orders o
    ON  o.customer_id = c.id
WHERE o.status = 'PAID'
GROUP BY c.name

और पढ़ें: इंडेंट स्पेस विकल्प

अधिकतम कॉलम

अधिकतम कॉलम वह लाइन चौड़ाई है जिसका लक्ष्य फ़ॉर्मैटर रखता है (डिफ़ॉल्ट 120)। लंबे एक्सप्रेशन इस सीमा में रहने के लिए कई लाइनों में तोड़े जाते हैं; 0 रैपिंग बंद कर देता है।

बाद में, SQL Format द्वारा फ़ॉर्मैट किया गया
विकल्प: इंडेंट स्पेस 4 · अधिकतम कॉलम 60 · अल्पविराम: बाद में · कीवर्ड: बड़े अक्षर · कोष्ठक नई पंक्ति पर: नहीं
SELECT order_id,
    quantity * unit_price * (1 - discount_rate) * (1 +
      tax_rate) + shipping_fee - loyalty_credit AS
      amount_due
FROM order_lines
WHERE order_id = 42

और पढ़ें: अधिकतम कॉलम विकल्प

अल्पविराम

अल्पविराम बाद वाले अल्पविराम (हर आइटम के बाद, डिफ़ॉल्ट) और पहले वाले अल्पविराम (अगली लाइन की शुरुआत में) में से चुनता है। पहले वाले अल्पविराम से किसी कॉलम को कमेंट आउट करना आसान हो जाता है और अंत में कॉलम जोड़ने पर diff छोटे बनते हैं।

बाद में, SQL Format द्वारा फ़ॉर्मैट किया गया
विकल्प: इंडेंट स्पेस 4 · अधिकतम कॉलम 120 · अल्पविराम: पहले · कीवर्ड: बड़े अक्षर · कोष्ठक नई पंक्ति पर: नहीं
SELECT id
    ,email
    ,country_code
    ,created_at
FROM customers

और पढ़ें: अल्पविराम की स्थिति का विकल्प

कीवर्ड

कीवर्ड SELECT, FROM और JOIN जैसे SQL कीवर्ड को बड़े अक्षरों (डिफ़ॉल्ट) या छोटे अक्षरों में बदलता है। स्ट्रिंग लिटरल और कमेंट वैसे ही रहते हैं जैसे आपने लिखे थे।

बाद में, SQL Format द्वारा फ़ॉर्मैट किया गया
विकल्प: इंडेंट स्पेस 4 · अधिकतम कॉलम 120 · अल्पविराम: बाद में · कीवर्ड: छोटे अक्षर · कोष्ठक नई पंक्ति पर: नहीं
select id,
    name
from products
where price > 100
order by name

और पढ़ें: कीवर्ड केस विकल्प

कोष्ठक नई पंक्ति पर

कोष्ठक नई पंक्ति पर किसी ब्लॉक के खुलने वाले कोष्ठक को, जैसे IN के बाद की सबक्वेरी, CTE बॉडी या कई लाइनों में बँटी सूची, पिछली लाइन के अंत में छोड़ने के बजाय उसकी अपनी लाइन पर ले जाता है।

बाद में, SQL Format द्वारा फ़ॉर्मैट किया गया
विकल्प: इंडेंट स्पेस 4 · अधिकतम कॉलम 120 · अल्पविराम: बाद में · कीवर्ड: बड़े अक्षर · कोष्ठक नई पंक्ति पर: हाँ
SELECT name
FROM customers
WHERE id IN
(
    SELECT customer_id
    FROM orders
    WHERE total > 500
)

और पढ़ें: कोष्ठक नई पंक्ति पर विकल्प

यह कौन-सी SQL डायलेक्ट समझता है

फ़ॉर्मैटर किसी एक डेटाबेस से बंधा नहीं है। यह उस SQL पर काम करता है जो प्रमुख इंजनों में साझा है: जॉइन, सबक्वेरी और CASE के साथ SELECT, INSERT, UPDATE, DELETE, CREATE TABLE और CREATE VIEW जैसे सामान्य DDL, और -- तथा /* */ दोनों रूपों के कमेंट, जो सुरक्षित रखे जाते हैं।

इसमें PostgreSQL के लिए अतिरिक्त समर्थन है: :: कास्ट, $1 पैरामीटर और डॉलर-कोटेड $$ … $$ बॉडी, जिनका PL/pgSQL ब्लॉक-दर-ब्लॉक व्यवस्थित किया जाता है। MySQL के बैकटिक आइडेंटिफ़ायर और SQL Server के [bracket] आइडेंटिफ़ायर ज्यों के त्यों रखे जाते हैं। कोई डायलेक्ट स्विच नहीं है, इसलिए किसी एक डेटाबेस का अन्य विशिष्ट सिंटैक्स, जैसे SQL Server का GO बैच सेपरेटर, विशेष रूप से नहीं संभाला जाता। डायलेक्ट गाइड इन अंतरों को समझाती हैं।

आपके SQL के साथ क्या होता है

जब आप फ़ॉर्मैट करें पर क्लिक करते हैं, तो एडिटर का SQL HTTPS पर हमारे सर्वर को भेजा जाता है, मेमोरी में फ़ॉर्मैट किया जाता है और सीधे पेज में वापस भेज दिया जाता है। इसे किसी डेटाबेस, फ़ाइल या लॉग में नहीं लिखा जाता, और इसे एनालिटिक्स या विज्ञापन भागीदारों के साथ साझा नहीं किया जाता। फिर भी, किसी भी ऑनलाइन टूल में असली पासवर्ड, कुंजियाँ या व्यक्तिगत डेटा पेस्ट करने से बचें; विवरण गोपनीयता पेज पर है।

गोपनीयता जानकारी

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

क्या मेरा SQL कहीं संग्रहीत होता है?

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

क्या फ़ॉर्मैटिंग से मेरी क्वेरी का काम बदल सकता है?

इसे केवल व्हाइटस्पेस, लाइन ब्रेक और कीवर्ड के केस को बदलने के लिए डिज़ाइन किया गया है, आपके SQL के क्रम या लॉजिक को कभी नहीं। कोड दोबारा लिखने वाले किसी भी टूल की तरह, प्रोडक्शन डेटाबेस पर चलाने से पहले परिणाम पढ़ लें। ध्यान दें कि कीवर्ड का केस उन नामों पर भी लागू होता है जो SQL कीवर्ड हैं, जैसे month नाम का कॉलम।

यह किन डेटाबेस के साथ काम करता है?

यह PostgreSQL, MySQL, SQL Server, Oracle, Db2 और SQLite में साझा SQL को फ़ॉर्मैट करता है, और PostgreSQL के कास्ट, पैरामीटर और PL/pgSQL बॉडी को अतिरिक्त रूप से संभालता है। कोई डायलेक्ट चयनकर्ता नहीं है।

क्या कोई आकार सीमा है?

हाँ। एक अनुरोध में अधिकतम 20,000 लाइनों का SQL हो सकता है।

क्या मैं एक साथ कई स्टेटमेंट फ़ॉर्मैट कर सकता हूँ?

हाँ। उन्हें सेमीकोलन से अलग करें; हर स्टेटमेंट अलग से फ़ॉर्मैट होता है और वे अपने मूल क्रम में रहते हैं।

क्या इसका कोई शुल्क है या खाते की ज़रूरत है?

नहीं। फ़ॉर्मैटर का उपयोग मुफ़्त है और साइन-अप की ज़रूरत नहीं है।

सभी अक्सर पूछे जाने वाले प्रश्न देखें

गाइड और संदर्भ

टूल के अलावा, ये गाइड पढ़ने में आसान SQL के पीछे की परंपराओं को कवर करती हैं: