SQL क्वेरी वैलिडेटर

ब्राउज़र में चलता है डेटाबेस

SQL के लिए डायलेक्ट-अवेयर संरचनात्मक वैलिडेटर: कीवर्ड का क्रम, clause संरचना, संतुलित कोष्ठक और कोट्स, UPDATE/DELETE में WHERE की कमी, SELECT * चेतावनियाँ और injection के लिए ख़तरनाक concatenation।

गोपनीयता: यह टूल पूरी तरह आपके ब्राउज़र में चलता है। आपका इनपुट कभी आपके डिवाइस से बाहर नहीं जाता।
टूल लोड हो रहा है…

SQL क्वेरी वैलिडेटर कैसे इस्तेमाल करें

  1. सेमीकोलन से अलग किए एक या ज़्यादा स्टेटमेंट पेस्ट करें।
  2. डायलेक्ट चुनें।
  3. समस्या तालिका देखें — error निष्पादन रोकते हैं, warning जोखिम भरे पैटर्न हैं, hint स्टाइल की सलाह हैं।

SQL क्वेरी वैलिडेटर की खूबियाँ

  • Lexical जाँच: बिना बंद की स्ट्रिंग, कमेंट और कोट किए identifier
  • संतुलित कोष्ठक और CASE … END जोड़े, ट्रेलिंग कॉमा, अधूरे ऑपरेटर
  • SELECT के लिए clause क्रम (FROM → WHERE → GROUP BY → HAVING → ORDER BY → LIMIT)
  • सुरक्षा चेतावनियाँ: WHERE के बिना UPDATE/DELETE, ON के बिना JOIN, "= NULL"
  • INSERT में कॉलम और वैल्यू की संख्या का बेमेल
  • Injection के संकेत: वेरिएबल के साथ स्ट्रिंग concatenation, OR 1=1 जैसी tautology
  • डायलेक्ट संकेत (LIMIT बनाम TOP, backtick बनाम bracket)

SQL क्वेरी वैलिडेटर का उदाहरण

clause क्रम की ग़लती पकड़ना

इनपुट:

SELECT * FROM users ORDER BY id WHERE active = 1

आउटपुट:

ERROR line 1: WHERE appears after ORDER BY; the expected order is SELECT → FROM → WHERE → GROUP BY → HAVING → WINDOW → ORDER BY → LIMIT.
INFO line 1: SELECT * returns every column.

SQL क्वेरी वैलिडेटर के बारे में अक्सर पूछे जाने वाले सवाल

क्या यह मेरे डेटाबेस से जुड़ता है?

नहीं। वैलिडेशन पूरी तरह संरचनात्मक है और आपके ब्राउज़र में चलता है: यह कोट्स, कोष्ठक, clause क्रम और ख़तरनाक पैटर्न जाँचता है, पर यह नहीं जान सकता कि टेबल और कॉलम मौजूद हैं या नहीं।

यह किस तरह की समस्याएँ पकड़ता है?

बिना बंद की स्ट्रिंग और कमेंट, असंतुलित कोष्ठक, ग़लत क्रम में clause (जैसे ORDER BY के बाद WHERE), ट्रेलिंग कॉमा, अधूरे ऑपरेटर, INSERT में कॉलम/वैल्यू की संख्या का बेमेल, UPDATE/DELETE पर WHERE की कमी, ON के बिना JOIN, "= NULL" तुलनाएँ और डायलेक्ट-विशिष्ट सिंटैक्स जैसे SQL Server में LIMIT।

injection चेतावनी क्या है?

यह वेरिएबल के साथ जोड़े गए स्ट्रिंग लिटरल ('…' + @user), OR 1=1 जैसी tautology और payload जैसे लिटरल पर निशान लगाती है। स्ट्रिंग से SQL बनाने के बजाय bound parameter इस्तेमाल करें।

क्या मैं कई स्टेटमेंट वैलिडेट कर सकता हूँ?

हाँ। स्टेटमेंट सेमीकोलन पर बाँटे जाते हैं और हर एक अपने index, टाइप और समस्याओं के साथ बताया जाता है।

तकनीकी नोट्स

चूँकि वैलिडेटर आपका schema नहीं जानता, यह अनजान टेबल या कॉलम नहीं बता सकता। हाथ से लिखी क्वेरी, कोड रिव्यू और migration स्क्रिप्ट पर CI जाँच के लिए यह तेज़ पहली सुरक्षा-पंक्ति है।