SQL फ़ॉर्मेटर

SQL पेस्ट करें और वह खुद सज जाता है — स्ट्रिंग और कमेंट अछूते रहते हैं।

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

  1. अपना SQL बॉक्स में पेस्ट करें — यह टाइप करते ही फ़ॉर्मेट होता है, कोई बटन नहीं दबाना है।
  2. आरक्षित शब्दों के लिए अपर या लोअर केस और इंडेंटेशन के लिए 2 या 4 स्पेस चुनें; परिणाम तुरंत अपडेट होता है।
  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 and o.created_at >= '2026-01-01'
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
  AND o.created_at >= '2026-01-01'
GROUP BY
  u.id,
  u.name
ORDER BY
  orders DESC
LIMIT 10;

केवल डिफ़ॉल्ट नियम: हर क्लॉज़ नई पंक्ति से शुरू होता है, सूची आइटम को दो स्पेस मिलते हैं, और AND इंडेंट होता है। count(...) फ़ंक्शन नाम है, इसलिए वह आपके टाइप किए लोअर केस में रहता है; तारीख़ की स्ट्रिंग अछूती है।

नियम, सीमाएँ और ज्ञात समस्याएँ

  • यह व्हाइटस्पेस फ़ॉर्मेटर है: SQL को पार्स, जाँच या चलाता नहीं। अमान्य SQL फिर भी सजाया जाता है।
  • कोई डायलेक्ट चयनकर्ता नहीं। सिंगल कोट, डबल कोट, बैकटिक, स्क्वेयर ब्रैकेट और $tag$ स्ट्रिंग सभी पहचाने जाते हैं, इसलिए MySQL, PostgreSQL, SQL Server और SQLite के कोट जैसे हैं वैसे पेस्ट किए जा सकते हैं।
  • सिर्फ़ आरक्षित शब्दों का केस बदलता है। फ़ंक्शन नाम, टाइप नाम (count, int, varchar) और कोट किए आइडेंटिफ़ायर ठीक वैसे छपते हैं जैसे टाइप किए; अगर आपका डेटाबेस केस-संवेदी है तो आइडेंटिफ़ायर कोट करें।
  • स्ट्रिंग, संख्याएँ और कमेंट कभी दोबारा नहीं लिखे जाते। -- कमेंट लाइन ब्रेक लाता है, और कमेंट कभी नहीं हटते। कोई मिनिफ़ाई मोड नहीं।
  • परिणाम सिंटैक्स-हाइलाइट होता है (कीवर्ड, आइडेंटिफ़ायर, स्ट्रिंग, संख्याएँ, कमेंट) ताकि संरचना आसानी से दिखे। हाइलाइटिंग सिर्फ़ दिखने के लिए है: कॉपी और डाउनलोड हमेशा सादा फ़ॉर्मेट किया टेक्स्ट देते हैं।
  • लाइन ब्रेक सिर्फ़ क्लॉज़, सूची, CASE, सबक्वेरी, विंडो और DDL-कॉलम सीमाओं पर होते हैं। फ़ंक्शन आर्ग्युमेंट और IN (...) सूचियाँ एक पंक्ति में रहती हैं; लंबी पंक्तियाँ परिणाम पैनल में लिपटती हैं, जबकि कॉपी और डाउनलोड ठीक बिना लिपटा टेक्स्ट रखते हैं।
  • स्ट्रिंग '' और \' दोनों एस्केप से स्कैन होती हैं। बैकस्लैश पर खत्म होने वाली मानक-SQL स्ट्रिंग, जैसे 'C:\', अनबंद पढ़ी जा सकती है: आपको चेतावनी मिलती है और इनपुट अछूता रहता है।
  • कोई स्टोर्ड प्रोसीजर, DELIMITER या PL/SQL ब्लॉक नहीं; कोई फ़ाइल अपलोड, URL पैरामीटर या इतिहास नहीं। सब कुछ आपके ब्राउज़र में चलता है: कुछ अपलोड या संग्रहीत नहीं होता।
  • 2,00,000 कैरेक्टर से ऊपर परिणाम टाइप करना रोकने के लगभग 0.6 s बाद अपडेट होता है; टेक्स्ट कभी काटा नहीं जाता। आउटपुट LF का उपयोग करता है और अंत में नया लाइन ब्रेक नहीं होता; फ़ॉर्मेटिंग इडेम्पोटेंट है।

क्वेरी पढ़ने योग्य हो जाने के बाद लोग आमतौर पर यह चाहते हैं।