SQL क्वेरी को कैसे फ़ॉर्मेट करें
गड़बड़ SQL बग पेश करने के सबसे तेज़ तरीकों में से एक है। जब एक क्वेरी एक लंबी पंक्ति पर बिना इंडेंटेशन के होती है, तो यह देखना कठिन है कि कौन सी शर्तें किन जॉइन पर लागू होती हैं, उप-क्वेरी कहाँ शुरू और समाप्त होती हैं, या क्या लॉजिक सही है।
फ़ॉर्मेटिंग क्यों मायने रखती है
- डिबगिंग — एक अच्छी तरह फ़ॉर्मेट की गई क्वेरी लॉजिक त्रुटियों को दृश्यमान बनाती है। आप बिना अनुमान लगाए SELECT से WHERE से JOIN तक के प्रवाह का अनुसरण कर सकते हैं।
- कोड समीक्षा — समीक्षक फ़ॉर्मेट किए गए SQL को सेकंडों में पढ़ते हैं। एक पंक्ति पर एक क्वेरी उन्हें पहले मानसिक रूप से पार्स करने के लिए मजबूर करती है।
- रखरखाव — जब आप महीनों बाद एक क्वेरी पर वापस आते हैं, तो फ़ॉर्मेटिंग आपको एक नज़र में बताती है कि यह क्या करती है।
- सहयोग — एक टीम में सुसंगत फ़ॉर्मेटिंग का मतलब है कि सभी SQL को एक ही तरह से पढ़ते हैं।
SQL को कैसे फ़ॉर्मेट करें
- अपना SQL पेस्ट करें — फ़ॉर्मेटर में एक मिनीफ़ाई या गड़बड़ क्वेरी दर्ज करें। यह SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, साथ ही उप-क्वेरी और जॉइन वाली जटिल क्वेरी को संभालता है।
- विकल्प कॉन्फ़िगर करें — इंडेंटेशन आकार चुनें और क्या कीवर्ड बड़े अक्षरों में होने चाहिए। ये सेटिंग्स आपके प्रोजेक्ट की शैली गाइड से मेल खाती हैं।
- परिणाम कॉपी करें — फ़ॉर्मेट किया गया SQL आपके संपादक, डेटाबेस क्लाइंट या दस्तावेज़ीकरण में पेस्ट करने के लिए तैयार है।
अच्छी फ़ॉर्मेटिंग कैसी दिखती है
select u.name, o.total from users u join orders o on u.id = o.user_id where o.total > 100 and u.active = 1 order by o.total desc जैसी क्वेरी बन जाती है:
SELECT
u.name,
o.total
FROM users u
JOIN orders o
ON u.id = o.user_id
WHERE o.total > 100
AND u.active = 1
ORDER BY o.total DESC
प्रत्येक खंड अपनी स्वयं की पंक्ति पर शुरू होता है। शर्तें अपने माता-पिता खंड के तहत इंडेंट की जाती हैं। जॉइन और उनकी ON शर्तें स्पष्ट रूप से जोड़ी जाती हैं।
सुझाव
- कमिट करने से पहले फ़ॉर्मेट करें — संस्करण नियंत्रण में जोड़ने से पहले अपने SQL को फ़ॉर्मेटर में पास करें। यह diff साफ़ रखता है और शैली पर नहीं, लॉजिक पर समीक्षाओं को केंद्रित करता है।
- सुसंगत कीवर्ड केसिंग का उपयोग करें — अपरकेस या लोअरकेस चुनें और पूरे प्रोजेक्ट में इसका पालन करें। मिश्रित शैलियाँ क्वेरी को पढ़ना मुश्किल बनाती हैं।
- जटिल क्वेरी को तोड़ें — यदि फ़ॉर्मेट करने के बाद भी एक क्वेरी पढ़ना मुश्किल है, तो इसे CTE (Common Table Expressions) या व्यूज़ में तोड़ें। फ़ॉर्मेटिंग मौलिक रूप से जटिल लॉजिक को ठीक नहीं कर सकती।
- सिंटैक्स हाइलाइटिंग जाँचें — एक अच्छा फ़ॉर्मेटर सिंटैक्स हाइलाइटिंग प्रदान करता है जो कीवर्ड, स्ट्रिंग्स और संख्याओं को अलग करती है, जो टाइपो पहचानने में मदद करता है।
अक्सर पूछे जाने वाले प्रश्न
क्या SQL कीवर्ड बड़े अक्षरों में लिखे जाने चाहिए?
SQL कीवर्ड (SELECT, FROM, WHERE) को बड़े अक्षरों में और तालिका या कॉलम नामों को छोटे अक्षरों में लिखना व्यापक रूप से अनुसरण किया जाने वाला सम्मेलन है। यह क्वेरी को दृश्य रूप से पढ़ना आसान बनाता है। अधिकांश शैली गाइड इसकी अनुशंसा करती हैं, लेकिन कोई भी डेटाबेस इंजन इसे थोपता नहीं है।
क्या फ़ॉर्मेटिंग क्वेरी के निष्पादन को बदलती है?
नहीं। रिक्त स्थान और इंडेंटेशन का SQL निष्पादन पर कोई प्रभाव नहीं होता। फ़ॉर्मेटिंग पूरी तरह मानव पठनीयता के लिए है। एक मिनीफ़ाई और एक इंडेंट की गई क्वेरी समान परिणाम उत्पन्न करती हैं।
कौन सा इंडेंटेशन आकार उपयोग करें?
दो या चार स्पेस दोनों सामान्य हैं। चुनें कि आपकी टीम क्या उपयोग करती है और सुसंगत रहें। अधिकांश SQL फ़ॉर्मेटर इसे कॉन्फ़िगर करने की अनुमति देते हैं।
क्या मेरा SQL किसी सर्वर पर भेजा जाता है?
नहीं। फ़ॉर्मेटिंग पूरी तरह आपके ब्राउज़र में होती है। आपकी क्वेरी कभी आपके डिवाइस से बाहर नहीं जातीं।