SQL स्ट्रिंग एस्केप

सिंगल-कोट वाली SQL स्ट्रिंग के भीतर इस्तेमाल के लिए टेक्स्ट एस्केप करें: कोट्स दोगुने करें (मानक SQL) या MySQL बैकस्लैश एस्केप चुनें। वैकल्पिक रूप से कोट्स में लपेटें।

हर ' को '' में बदला जाता है। PostgreSQL, SQLite, SQL Server, Oracle और NO_BACKSLASH_ESCAPES वाले MySQL में काम करता है। ऐप्लिकेशन कोड में parameterized queries का उपयोग करें।

आउटपुट

पूरी तरह आपके ब्राउज़र में चलता है। आपका डेटा कभी अपलोड नहीं होता।

संबंधित टूल्स

सभी देखें

SQL स्ट्रिंग एस्केप क्या है?

SQL Escape किसी मूल टेक्स्ट मान को ऐसे रूप में बदलता है जिसे सिंगल-कोट वाली SQL स्ट्रिंग लिटरल के भीतर रखा जा सके। मानक मोड हर सिंगल कोट को दोगुना करता है (O'Reilly → O''Reilly); MySQL मोड mysql_real_escape_string() की तरह बैकस्लैश एस्केप इस्तेमाल करता है। यह हाथ से SQL लिखने के लिए है – एप्लिकेशन कोड में इसके बजाय पैरामीटराइज़्ड क्वेरी इस्तेमाल करें।

SQL स्ट्रिंग एस्केप का उपयोग कैसे करें

  1. एस्केप शैली चुनें: मानक SQL या MySQL।
  2. चाहें तो परिणाम को सिंगल कोट्स में लपेटें चुनें।
  3. मूल मान इनपुट बॉक्स में टाइप या पेस्ट करें।
  4. एस्केप किया हुआ आउटपुट अपनी SQL में कॉपी करें।

उदाहरण

इनपुट
O'Reilly \ x
आउटपुट
O''Reilly \ x

मानक SQL मोड: कोट्स दोगुने होते हैं, बैकस्लैश वैसा ही रहता है।

SQL स्ट्रिंग एस्केप का उपयोग कब करें

एक बार के SQL स्टेटमेंट, सीड डेटा या ऐसे माइग्रेशन स्क्रिप्ट लिखने के लिए इसका उपयोग करें जिनमें एपॉस्ट्रॉफ़ी वाला टेक्स्ट हो। एप्लिकेशन में SQL-इंजेक्शन से बचाव के लिए स्ट्रिंग एस्केपिंग का उपयोग न करें – बाउंड पैरामीटर वाले प्रिपेयर्ड स्टेटमेंट इस्तेमाल करें। आइडेंटिफ़ायर (टेबल/कॉलम नाम) एस्केप करना अलग समस्या है और यहाँ शामिल नहीं।

SQL स्ट्रिंग एस्केप कैसे काम करता है

मानक SQL (ANSI; PostgreSQL, SQLite, SQL Server, Oracle और NO_BACKSLASH_ESCAPES वाला MySQL): हर ' बन जाता है ''; बैकस्लैश अक्षरशः होते हैं और नहीं बदलते। MySQL मोड (MySQL/MariaDB की डिफ़ॉल्ट सेटिंग): \0, नई पंक्ति, कैरिज रिटर्न, बैकस्लैश, ', " और Ctrl+Z (0x1A) के आगे बैकस्लैश लगता है, जो mysql_real_escape_string() से मेल खाता है। मानक मोड में पंक्ति विराम असली पंक्ति विराम ही रहते हैं, जो SQL लिटरल के भीतर मान्य है।

सामान्य उपयोग मामले

  • मैन्युअल INSERT में O'Reilly जैसे नाम डालना
  • कोट किए टेक्स्ट वाले सीड या माइग्रेशन स्क्रिप्ट लिखना
  • MySQL डंप के लिए लिटरल स्ट्रिंग तैयार करना
  • ANSI और MySQL एस्केपिंग का अंतर समझना

सुरक्षा नोट

सब कुछ आपके ब्राउज़र में ही चलता है; आप जो कोड पेस्ट करते हैं वह कहीं अपलोड नहीं होता।

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

क्या एस्केपिंग SQL इंजेक्शन रोकने के लिए काफ़ी है?

नहीं। पैरामीटराइज़्ड क्वेरी इस्तेमाल करें; एस्केपिंग में गलती आसान है और यह सर्वर सेटिंग व कैरेक्टर सेट पर निर्भर करती है।

PostgreSQL के लिए कौन-सा मोड चुनूँ?

मानक SQL। PostgreSQL 9.1 से सामान्य स्ट्रिंग में बैकस्लैश अक्षरशः माने जाते हैं।

MySQL को अलग एस्केपिंग क्यों चाहिए?

डिफ़ॉल्ट रूप से MySQL स्ट्रिंग के भीतर बैकस्लैश को एस्केप कैरेक्टर मानता है, इसलिए बैकस्लैश भी एस्केप करने पड़ते हैं।

सुझाए गए अगले कदम

SSL सर्टिफ़िकेट चेकर
जाँचें कि साइट का HTTPS कनेक्शन सफल है और Certificate Transparency लॉग से उसका नवीनतम सर्टिफ़िकेट देखें: जारीकर्ता, वैधता, बचे दिन, नाम।
JWT जेनरेटर
HS256/384/512, RS, PS, ES या EdDSA से साइन किए JSON Web Token बनाएं। पेलोड एडिट करें, exp और iat सेट करें, key या सीक्रेट जेनरेट करें – सब ब्राउज़र में।
JWT वेरिफ़ायर
JSON Web Token का सिग्नेचर HMAC सीक्रेट, PEM पब्लिक key, X.509 सर्टिफ़िकेट, JWK या JWKS से वेरिफ़ाई करें, और exp, nbf, issuer व audience लोकली जाँचें।
एस्केप/अनएस्केप टूल
JSON, JavaScript, HTML, XML, URL कंपोनेंट, रेगुलर एक्सप्रेशन, SQL लिटरल, CSS स्ट्रिंग और शेल आर्ग्युमेंट के लिए स्ट्रिंग एस्केप या अनएस्केप करने का एक ही टूल।
SQL से JSON
SQL INSERT स्टेटमेंट को JSON में बदलें: मल्टी-रो VALUES, कोट किए आइडेंटिफ़ायर, एस्केप किए कोट, NULL, TRUE/FALSE और संख्याएँ, कई टेबल पर। मुफ़्त।
JSON से SQL
JSON को SQL INSERT स्टेटमेंट और वैकल्पिक CREATE TABLE में बदलें, MySQL, PostgreSQL, SQLite या SQL Server के लिए सही कोटिंग और एस्केपिंग के साथ। मुफ़्त।

और श्रेणियाँ देखें