यह क्या करता है
SQL फ़ॉर्मैटर एक लंबी, एक लाइन वाली क्वेरी को पढ़ने लायक, एक जैसे इंडेंटेशन वाली क्वेरी में बदलता है। हर clause (SELECT, FROM, WHERE, GROUP BY, ORDER BY) अपनी लाइन पर शुरू होता है, चुने गए कॉलम और शर्तें हर लाइन पर एक लिखी जाती हैं, joins उस टेबल के नीचे लाइन में आते हैं जिससे वे जुड़ते हैं, और subqueries अपने कोष्ठकों के अंदर इंडेंट होती हैं।
फ़ॉर्मैट किया गया SQL pull requests में रिव्यू करने, गलत पंक्तियाँ लौटाने वाली क्वेरी को डिबग करने, और डॉक्यूमेंटेशन में पेस्ट करने में आसान होता है। यह तब भी मदद करता है जब आप किसी ORM लॉग या एप्लिकेशन एरर मैसेज से क्वेरी कॉपी करते हैं, जहाँ सब कुछ एक ही लाइन में होता है।
कैसे इस्तेमाल करें
- इनपुट बॉक्स में एक या ज़्यादा SQL स्टेटमेंट पेस्ट करें, उस पर
.sqlफ़ाइल ड्रॉप करें, या उदाहरण पर क्लिक करें। - अपने डेटाबेस का डायलेक्ट चुनें।
- कीवर्ड UPPERCASE, lowercase में, या जैसे लिखे हैं वैसे रखना चुनें।
COUNTजैसे फ़ंक्शन नाम भी इसी सेटिंग को फ़ॉलो करते हैं। - इंडेंट के लिए 2 स्पेस, 4 स्पेस या टैब चुनें।
- नतीजा कॉपी करें या
.sqlफ़ाइल के रूप में डाउनलोड करें। शॉर्टकट: Ctrl/Cmd+Enter फ़ॉर्मैट करता है, Ctrl/Cmd+Shift+C कॉपी करता है।
सेमीकोलन से अलग किए गए कई स्टेटमेंट एक खाली लाइन से अलग रखे जाते हैं। कमेंट्स अपनी जगह पर रहते हैं।
उदाहरण
select u.id, count(o.id) as orders from users u left join orders o on o.user_id = u.id group by u.id
बन जाता है
SELECT
u.id,
COUNT(o.id) AS orders
FROM
users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY
u.id
सुझाव
बड़े अक्षरों वाले कीवर्ड clauses को टेबल और कॉलम नामों से अलग दिखाते हैं, और यही टीमों में सबसे आम परंपरा है। अगर आपकी टीम lowercase SQL लिखती है, तो lowercase चुनें और पूरी क्वेरी मेल खा जाएगी। अगर फ़ॉर्मैटर unexpected token बताता है, तो जाँचें कि डायलेक्ट सही है: उदाहरण के लिए, backtick वाले नाम MySQL में मान्य हैं लेकिन standard SQL में नहीं।
अक्सर पूछे जाने वाले सवाल
› क्या मेरा SQL किसी सर्वर पर भेजा जाता है?
नहीं। फ़ॉर्मैटर आपके ब्राउज़र में चलता है, इसलिए टेबल के नाम, ग्राहकों का डेटा या बिज़नेस लॉजिक दिखाने वाली क्वेरी आपके डिवाइस पर ही रहती हैं।
› कौन-से SQL डायलेक्ट सपोर्ट होते हैं?
Standard SQL, MySQL, MariaDB, PostgreSQL, SQLite, SQL Server (T-SQL), Oracle (PL/SQL), BigQuery, Snowflake, Redshift और Spark SQL। सही डायलेक्ट चुनने से backtick identifiers, :: casts या square-bracket नामों जैसे डायलेक्ट-विशेष सिंटैक्स में मदद मिलती है।
› क्या फ़ॉर्मैटिंग से क्वेरी का काम बदल जाता है?
नहीं। सिर्फ़ व्हाइटस्पेस और, अगर आप चुनें, कीवर्ड व फ़ंक्शन नामों का केस बदलता है। Identifiers, string literals और कमेंट्स ठीक वैसे ही रहते हैं जैसे लिखे गए थे।
› मुझे "Unexpected end of input" क्यों मिलता है?
आमतौर पर कोई ब्रैकेट या कोट बंद नहीं हुआ होता। एरर क्वेरी के अंत की ओर इशारा करता है; आख़िरी खुला ( या ' खोजें जिसका जोड़ीदार नहीं है।