SQL फ़ॉर्मेटर/ब्यूटीफ़ायर

बिखरे SQL को साफ़, इंडेंट की हुई, पढ़ने लायक क्वेरी में फ़ॉर्मेट करें। डीबगिंग, कोड रिव्यू और डॉक्यूमेंटेशन के लिए। MySQL, PostgreSQL आदि के साथ। मुफ़्त।

SQL को फिर से पढ़ने लायक बनाएँ

लॉग, ORM, BI टूल या किसी सहकर्मी के मैसेज से कॉपी किया SQL अक्सर एक लंबी लाइन में आता है: select u.id,u.name,count(o.id) from users u left join orders o on o.user_id=u.id where u.active=1 group by u.id order by 3 desc। SQL फ़ॉर्मेटर इसे अलग-अलग लाइनों में तोड़ता है, हर clause (SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY) को उसकी जगह रखता है और इंडेंट करता है ताकि आप तर्क समझ सकें।

पढ़ने लायक SQL को डीबग, रिव्यू और डॉक्यूमेंट करना आसान है। क्वेरी सही तरह सजी हो तो छूटी join शर्त या ग़लत जगह का WHERE पकड़ना कहीं तेज़ होता है।

यह MySQL, MariaDB, PostgreSQL, SQLite, SQL Server और दूसरों में इस्तेमाल होने वाले मानक SQL के साथ काम करता है।

SQL फ़ॉर्मेटर/ब्यूटीफ़ायर का इस्तेमाल कैसे करें

  1. अपनी SQL क्वेरी पेस्ट करें।
  2. सुंदर बनाने के लिए सबमिट करें।
  3. फ़ॉर्मेट किया SQL पढ़ें या कॉपी करें।

उदाहरण

एक लाइन वाली रिपोर्ट क्वेरी

इनपुट:

select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.active = 1 group by u.id, u.name order by orders desc limit 10

आउटपुट:

select
  u.id,
  u.name,
  count(o.id) as orders
from
  users u
  left join orders o on o.user_id = u.id
where
  u.active = 1
group by
  u.id,
  u.name
order by
  orders desc
limit
  10

हर clause को अपनी लाइन मिलती है और हर कॉलम इंडेंट होता है। कीवर्ड उसी केस में रहते हैं जैसे आपने टाइप किए।

एक update

इनपुट: UPDATE products SET price = price * 1.1 WHERE category_id IN (3, 7);

आउटपुट:

UPDATE
  products
SET
  price = price * 1.1
WHERE
  category_id IN (3, 7);

आम उपयोग

  • ऐप्लिकेशन लॉग या ORM डीबग आउटपुट से पकड़ी क्वेरी पढ़ना।
  • कोड रिव्यू और pull request के लिए SQL तैयार करना।
  • साफ़ उदाहरणों के साथ डॉक्यूमेंटेशन और ट्यूटोरियल लिखना।
  • कई joins और subqueries वाली लंबी क्वेरी डीबग करना।
  • BI टूल या notebook में सेव करने से पहले क्वेरी सँवारना।
  • ऐप्लिकेशन लॉग से कॉपी की क्वेरी पढ़ना, जहाँ वे अक्सर एक लाइन में होती हैं।

सुझाव और ज़रूरी बातें

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

खास स्थितियाँ और सीमाएँ

  • कीवर्ड बड़े अक्षरों में नहीं बदले जाते। अगर आपकी टीम की शैली बड़े अक्षरों वाले कीवर्ड है, तो उन्हें वैसे ही टाइप करें।
  • सेमीकोलन से अलग कई स्टेटमेंट एक के बाद एक फ़ॉर्मेट होते हैं।
  • कमेंट रखे जाते हैं। स्ट्रिंग और quoted identifiers नहीं बदलते।

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

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

नहीं। सिर्फ़ स्पेसिंग और लाइन ब्रेक बदलते हैं, इसलिए क्वेरी वही नतीजे लौटाती है।

कौन-से SQL dialects समर्थित हैं?

MySQL, PostgreSQL, SQLite, SQL Server और ऐसे ही डेटाबेस के मानक SQL कीवर्ड अच्छी तरह फ़ॉर्मेट होते हैं।

क्या यह मेरे SQL में एरर जाँचता है?

नहीं। यह टेक्स्ट फ़ॉर्मेट करता है; एरर जाँचने के लिए क्वेरी अपने डेटाबेस में चलाएँ।

क्या SQL कीवर्ड बड़े अक्षरों में होने चाहिए?

यह ज़रूरी नहीं, लेकिन बड़े अक्षरों वाले कीवर्ड एक आम परंपरा है जो क्वेरी को सरसरी नज़र से पढ़ना आसान बनाती है।

संबंधित टूल

शेयर करें

लोकप्रिय मुफ़्त टूल्स