mysql like tutorial with syntax
यह ट्यूटोरियल MySQL LIKE ऑपरेटर का उपयोग करके पैटर्न से मेल खाता है:
लगभग सभी प्रोग्रामिंग भाषाओं जैसे - जावा / सी # / पायथन आदि में पैटर्न मिलान एक महत्वपूर्ण विशेषता है, जो ज्यादातर दिए गए स्ट्रिंग इनपुट के विरुद्ध मिलान के लिए रेगुलर एक्सप्रेशंस के उपयोग का लाभ उठाते हैं।
MySQL LIKE नामक ऑपरेटर का उपयोग करने के लिए एक आसान प्रदान करता है, जिसका उपयोग निर्दिष्ट पैटर्न के खिलाफ स्ट्रिंग के मूल्यों से मेल खाने के लिए किया जा सकता है और डेटा के बड़े सेट को क्वेरी करने के लिए उपयोगी होते हैं।
आप क्या सीखेंगे:
MySQL पसंद है
वाक्य - विन्यास:
LIKE ऑपरेटर का उपयोग WHERE क्लॉज के साथ एक SELECT क्वेरी में किया जाता है।
एक साधारण क्वेरी में, वाक्यविन्यास नीचे की तरह दिखता है।
SELECT {column_names} (*) FROM {table_name} WHERE {column_with_string_value} LIKE {match_pattern}
इस सिंटैक्स के विभिन्न घटकों को निम्नानुसार समझाया गया है:
- {column_names}: ये स्तंभ नाम हैं जिन्हें SELECT क्वेरी के आउटपुट के रूप में प्रदर्शित किया जाना है। ये मान सभी कॉलम या अल्पविराम से अलग-अलग कॉलम के नामों के चयन के लिए हो सकते हैं।
- {तालिका नाम}: यह उस तालिका का नाम है जहां क्वेरी को निष्पादित करने की आवश्यकता है।
- {column_with_string_value}: यह वह कॉलम है जिसके मानों को निर्दिष्ट पैटर्न के खिलाफ निष्पादित करने की आवश्यकता है। कृपया ध्यान दें कि किसी भी तुलना को एक स्तंभ पर किया जाता है जिसे स्ट्रिंग में परिवर्तित किया जा सकता है।
- {match_pattern}: यह मैच की अभिव्यक्ति है जिसके खिलाफ कॉलम मानों की तुलना करने की आवश्यकता है। मैच पैटर्न का एक नमूना हो सकता है - can SM% ।। यह एसएम के साथ शुरू होने वाले सभी कॉलम मूल्यों से मेल खाएगा। उदाहरण: स्मार्ट, स्मेल, स्मोक, आदि।
इस क्वेरी के समान, LIKE ऑपरेटर का उपयोग JOINS आदि के साथ जटिल प्रश्नों के साथ भी किया जा सकता है, क्योंकि LIKE अभी एक तुलना ऑपरेटर है और जहाँ भी कॉलम वैल्यू की तुलना संभव है, वहाँ इसका उपयोग किया जा सकता है।
ध्यान दें: LIKE के समान, हम इसके नकारात्मक संस्करण का भी उपयोग कर सकते हैं, जो 'NOT LIKE' है। इसलिए इस मामले में, मिलान परिणामों को वापस करने के बजाय, IKE NOT LIKE ’संचालक के साथ प्रश्न गैर-मिलान वाले परिणाम लौटाएंगे।
MySQL मैच पैटर्न
LIKE Operator का उपयोग 2 प्रकार के पैटर्न के साथ किया जा सकता है। इन्हें नीचे दी गई तालिका में सूचीबद्ध किया गया है:
प्रतिरूप | |
---|---|
% (प्रतिशत) | किसी भी वर्ण का मिलान करें (जिसमें कोई वर्ण नहीं है) |
_ (अंडरस्कोर) | एकल चरित्र से मेल खाता है |
अब हम दोनों पैटर्न का उपयोग करके कुछ उदाहरण देखेंगे।
% मिलान पैटर्न
% पैटर्न का उपयोग तब किया जाता है जब आप इसके प्लेसमेंट के पहले या बाद में 0 या अधिक वर्णों का मिलान करना चाहते हैं।
उदाहरण के लिए: यदि आप कर्मचारी के नाम वाले कॉलम से एक स्ट्रिंग 'मेल' करना चाहते हैं। मान लीजिए कि जैसे नाम हैं - अमित, अंचित, अर्पित, निकिता, स्मिथ, आदि। हम देख सकते हैं कि सभी नामों में यह 'विकल्प है। लेकिन उनकी स्थिति अलग है।
मान लीजिए कि कॉलम नाम है नाम और तालिका का नाम है छात्र_नाम।
डेटाबेस को पॉप्युलेट करने के लिए निम्न नमूना डेटा निर्माण स्क्रिप्ट का उपयोग करें:
CREATE TABLE student_names (name VARCHAR(100)); INSERT INTO student_names VALUES('Amit'),('Ankit'),('Smith'),('Nikita'),('Mohit');
आइए देखें कि हम% मिलान पैटर्न का उपयोग कैसे कर सकते हैं।
SELECT * FROM student_names WHERE name LIKE '%it%'
आउटपुट:
नाम |
---|
अमित |
Ankit |
लोहार |
निकिता |
मोहित |
अब इसका मतलब यह है कि यह एक स्ट्रिंग से मेल खा सकता है जिसमें किसी भी स्थान पर ’यह’ का विकल्प है और मैच से पहले और बाद में किसी भी संख्या में वर्ण हो सकते हैं। आप देख सकते हैं कि सभी मिलान नाम आउटपुट के रूप में दिए गए हैं।
क्वेरी को उन नामों से मिलान करने के लिए पुनःप्राप्त करें, जो 'विकल्प' के साथ समाप्त हो रहे हैं।
SELECT * FROM student_names WHERE name LIKE '%it'
इसलिए यहाँ, हमने '%' चिह्न को हटा दिया है और अंत में 'इसे' स्ट्रिंग रखा है। यह पैटर्न would इट ’से पहले किसी भी वर्ण की अनुमति देगा लेकिन स्ट्रिंग को allow इट’ विकल्प के साथ समाप्त होना चाहिए।
उपरोक्त क्वेरी का आउटपुट:
नाम |
---|
अमित |
Ankit |
मोहित |
ध्यान दें: यहां यह नोट करना महत्वपूर्ण है कि character% ’वर्ण का उपयोग करके उल्लिखित पैटर्न असंवेदनशील है। इसलिए उपरोक्त उदाहरण के लिए, it% यह 'के बजाय हम or% आईटी' या It% इट 'का उपयोग कर सकते थे, आउटपुट अब भी वही रहेगा।
_Match पैटर्न
आइए अब इस पर एक नज़र डालें कि हम Match _ 'मैच पैटर्न का उपयोग कैसे कर सकते हैं। हम जानते हैं कि know _ 'ठीक एक वर्ण की अनुमति देता है।
मान लीजिए कि हम सभी 5 अक्षर नामों को एक ही तालिका (student_names) से क्वेरी करना चाहते हैं।
इस मामले में we _ 'पैटर्न मिलान का उपयोग करने के लिए, हमने LIKE पैटर्न के साथ पांच _ (अंडरस्कोर) निर्दिष्ट किए हैं जो केवल उन नामों से मेल खाएंगे जिनकी लंबाई 5 वर्ण हैं।
SELECT * FROM student_names WHERE name LIKE '_____'
आउटपुट:
नाम |
---|
Ankit |
मोहित |
लोहार |
आइए एक और उदाहरण देखें। मान लीजिए कि हम सभी 5 अक्षर नाम ढूंढना चाहते हैं जो कि सबस्ट्रिंग के साथ समाप्त हो रहे हैं '
SELECT * FROM student_names WHERE name LIKE '___it'
यहां हमने 3 ’_ '(अंडरस्कोर) और वास्तविक विकल्प का उपयोग किया है, जिसका मिलान करना आवश्यक है।
आउटपुट:
नाम |
---|
Ankit |
मोहित |
लोहार |
संयोजन% और _ पैटर्न मिलानकर्ता
इस खंड में, हम चर्चा करेंगे कि हम% और _ प्रतिमान मिलानकर्ताओं को एक साथ कैसे मिला सकते हैं।
जावा से c ++ कितना अलग है
मान लीजिए कि हम उन सभी नामों को ढूंढना चाहते हैं जिनके पास 'विकल्प है' और 'शब्द' के बाद ठीक 2 अक्षर हो सकते हैं।
SELECT * FROM student_names WHERE name LIKE '%it_'
यहां हमने सटीक मिलान खोजने के लिए% और _ मैच पैटर्न दोनों को मिलाया है।
आउटपुट:
नाम |
---|
लोहार |
निकिता |
नहीं का उपयोग कर
नहीं LIKE, ऑपरेटर क्या लौटाता है, इसका सटीक निषेध है। यानी यह उन सभी रिकॉर्ड / पंक्तियों को लौटाएगा जो पैटर्न-मैच की अभिव्यक्ति से मेल नहीं खाते हैं।
उदाहरण: मान लीजिए कि हम उन सभी नामों को खोजना चाहते हैं जो 4 वर्णों के लंबे नहीं हैं।
SELECT * FROM student_names WHERE name NOT LIKE '____'
आउटपुट:
नाम |
---|
Ankit |
लोहार |
निकिता |
मोहित |
आप उपरोक्त आउटपुट में देख सकते हैं, यह केवल उन नामों को लौटाता है जो 4 वर्ण लंबे नहीं हैं।
ESCAPE कैरेक्टर के साथ MySQL LIKE का उपयोग करना
यहां हम देखेंगे कि हम पैटर्न मिलान के साथ ESCAPE वर्णों का उपयोग कैसे कर सकते हैं।
मान लीजिए कि एक काल्पनिक स्थिति में हमारे पास ऐसे नाम हैं जिनमें वास्तव में% और _ अक्षर हैं और हम उन नामों को खोजना चाहते हैं, तो हमें वास्तव में% & _ से मेल खाना चाहिए। यह एक भागने चरित्र का उपयोग करके प्राप्त किया जा सकता है।
ध्यान दें: बच चरित्र का डिफ़ॉल्ट मान value 'है (बैकस्लैश)
छात्र_नाम तालिका में कुछ डेटा जोड़ें जिसमें% और _ अक्षर वाले नाम हों।
INSERT INTO student_names VALUES('Darre%n'),('Julia_Roberts'),('Dane_Sherman%');
नीचे इस बेहतर को समझने के लिए कुछ उदाहरण दिए गए हैं।
# 1) उन सभी नामों को खोजें जिनमें% साइन है।
SELECT * FROM student_names WHERE name LIKE '%\%%'
आउटपुट:
नाम |
---|
दर्रे% n |
Dane_Sherman% |
#दो) उन सभी नामों को खोजें जिनमें _ चिह्न है
SELECT * FROM student_names WHERE name LIKE '%\_%'
आउटपुट:
नाम |
---|
जूलिया रॉबर्ट्स |
Dane_Sherman% |
उपरोक्त दोनों उदाहरणों में, आप देख सकते हैं कि हमने% और _ वर्णों का उल्लेख करने के लिए एक भागने वाले चरित्र का उपयोग किया है - अर्थात्% वर्ण से मेल खाने के लिए हमने% चिह्न से पहले एक भागने चरित्र का उपयोग किया है - अर्थात्%% ’की तरह
अपनी पसंद का एक भागने चरित्र का उपयोग करना
अब पिछले उदाहरण को विस्तारित करने का प्रयास करते हैं।
MySQL आपको अपने खुद के ESCAPE चरित्र को निर्दिष्ट करने की अनुमति देता है जो कि MySQL का उपयोग पैटर्न मिलान खोज को चलाने के दौरान करना चाहिए।
डिफ़ॉल्ट मान the के बजाय to एस्केप चरित्र को अपडेट करने की कोशिश करें!
SELECT * FROM student_names WHERE name LIKE '%!_%' ESCAPE '!'
आउटपुट:
नाम |
---|
जूलिया रॉबर्ट्स |
Dane_Sherman% |
उपरोक्त उदाहरण में, हमने एस्केप कैरेक्टर को ’!’ में ओवरराइड कर दिया है और पैटर्न मैचर ’%! _%’ में उसी का उपयोग किया है - जहां हम नाम में ‘_’ कैरेक्टर को मैच करना चाहते हैं।
बार बार पूछे जाने वाले प्रश्न
Q # 1) SQL में %% का क्या अर्थ है?
उत्तर: '%%' विशिष्ट में कुछ भी मेल नहीं खा रहा है। सिर्फ 1% चरित्र होने के बराबर है। यदि आप कॉलम मूल्य में ’% 'के चरित्र से मेल खाना चाहते हैं, तो आप इसका उपयोग उस एस्केप चरित्र के साथ कर सकते हैं, जिसका डिफ़ॉल्ट मान ' है।
मान लें कि आप character% ’वर्ण वाले स्तंभ मान से मेल खाना चाहते हैं, तो आप पैटर्न मिलान को इस प्रकार लिख सकते हैं - LIKE’% %% ’(मध्य प्रतिशत (%) वर्ण से पहले एक अतिरिक्त बैकस्लैश नोटिस करें।
Q # 2) MySQL में वाइल्डकार्ड क्या है?
उत्तर: MySQL LIKE ऑपरेटर पैटर्न मिलान के विभिन्न तरीकों को प्राप्त करने के लिए MySQL में 2 वाइल्डकार्ड वर्णों के साथ काम करता है।
ये:
- % - यह किसी भी वर्ण (शून्य सहित) से मेल खाएगा
- _ - यह बिल्कुल एक चरित्र से मेल खाता है
Q # 3) मैं MySQL में LIKE क्वेरी कैसे लिख सकता हूँ?
उत्तर: LIKE एक साधारण ऑपरेटर है जो आम तौर पर एक SELECT क्वेरी में WHERE क्लॉज के साथ उपयोग किया जाता है। यह निर्दिष्ट पैटर्न के खिलाफ कॉलम के मूल्यों से मेल खाता था।
उदाहरण: मान लीजिए कि कर्मचारी_डेट्स वाली एक तालिका है, और इसमें एक पता नाम का एक कॉलम है, जिसमें घर का नाम, सड़क का नाम आदि शामिल है। आप उन सभी कर्मचारियों का पता लगाना चाहते हैं, जिनके पास सड़क को 'ऑक्सफोर्ड लेन' के रूप में परिभाषित किया गया है।
हम इस तरह की क्वेरी लिखने के लिए LIKE ऑपरेटर का उपयोग कर सकते हैं।
SELECT * FROM employee_details WHERE address LIKE '%Oxford Lane%'
कृपया ध्यान दें कि स्ट्रिंग पैटर्न हैं असंवेदनशील मामला जबकि निर्दिष्ट मिलान अभिव्यक्ति के विरुद्ध मिलान किया जा रहा है।
Q # 4) LIKE ऑपरेटर के साथ एक अलग एस्केप वर्ण कैसे निर्दिष्ट करें?
उत्तर: MySQL एक कस्टम एस्केप कैरेक्टर निर्दिष्ट करने का एक तरीका प्रदान करता है जो डिफ़ॉल्ट को ओवरराइड करेगा अर्थात्
यहां एक उदाहरण है जो क्वेरी निष्पादन के लिए एस्केप कैरेक्टर को an! ’में बदल देगा।
SELECT * FROM employee_details WHERE address LIKE '%!_%' ESCAPE '!'
उपर्युक्त प्रश्न में, हमने used! ’का उल्लेख पलायन चरित्र के रूप में किया है और मैच अभिव्यक्ति में उसी का उपयोग किया है।
Q # 5) LIKE ऑपरेटर का उपयोग करके वास्तविक% या _ वर्ण का मिलान कैसे करें?
उत्तर: % और _ जैसे अक्षर विशेष वाइल्डकार्ड वर्ण हैं, जिन्हें वास्तव में स्ट्रिंग के भाग के रूप में मिलान करने की आवश्यकता होती है।
डिफ़ॉल्ट एस्केप वर्ण ’ 'है और वाइल्डकार्ड वर्ण का उल्लेख करने से पहले इसका उपयोग किया जाना चाहिए।
मान लें कि हम किसी दिए गए कॉलम मान के विरुद्ध ’_ 'वर्ण का मिलान करना चाहते हैं, तो हम मैच की अभिव्यक्ति को इस प्रकार लिख सकते हैं - पसंद '%\_%'
निष्कर्ष
इस ट्यूटोरियल में, हमने उन विभिन्न तरीकों के बारे में सीखा, जिनमें हम LIKE ऑपरेटर का उपयोग कर सकते हैं (या नकारात्मक संस्करण, अर्थात् LIKE नहीं)।
qtp साक्षात्कार प्रश्न और उत्तर pdf
हमने समर्थित वाइल्डकार्ड वर्णों यानी _ और% पर भी चर्चा की और यदि वे खोजे / मिलान किए जाने वाले स्ट्रिंग का हिस्सा होने की आवश्यकता है तो वे कैसे बच सकते हैं।
LIKE ऑपरेटर एक शक्तिशाली कार्यक्षमता है जो MySQL द्वारा प्रदान की जाती है और आमतौर पर डेटा के बड़े सेट की क्वेरी करते हुए रिकॉर्ड को फ़िल्टर करने के लिए उपयोग की जाती है।
अनुशंसित पाठ
- कोड उदाहरणों के साथ MySQL क्रिएट ट्यूटोरियल देखें
- MySQL यूनिअन - संघ के उदाहरणों के साथ व्यापक ट्यूटोरियल
- MySQL उदाहरणों के साथ तालिका ट्यूटोरियल बनाएँ
- MySQL तालिका में सम्मिलित करें - स्टेटमेंट सिंटैक्स और उदाहरण डालें
- यूनिक्स कैट कमांड सिंटैक्स, उदाहरण के साथ विकल्प
- C # Regex Tutorial: एक सी # नियमित अभिव्यक्ति क्या है
- C ++ रेगेक्स ट्यूटोरियल: C ++ में रेग्युलर एक्सप्रेशंस उदाहरणों के साथ
- नियमित अभिव्यक्ति उदाहरण के साथ जावा रेगेक्स ट्यूटोरियल