MySQL रेगुलर एक्सप्रेशन और REGEXP के आधार पर एक अन्य प्रकार के पैटर्न मिलान ऑपरेशन का समर्थन करता है ऑपरेटर। निम्नलिखित पैटर्न की तालिका है, जिसका उपयोग REGEXP . के साथ किया जा सकता है पैटर्न मिलान को संभालने के लिए ऑपरेटर।
पैटर्न | पैटर्न किससे मेल खाता है |
^ | स्ट्रिंग की शुरुआत |
$ | स्ट्रिंग का अंत |
। | कोई एक वर्ण |
[...] | वर्ग कोष्ठक के बीच सूचीबद्ध कोई भी वर्ण |
[^...] | कोई भी वर्ण जो वर्ग कोष्ठक के बीच सूचीबद्ध नहीं है |
p1|p2|p3 | वैकल्पिक; किसी भी पैटर्न p1, p2, या p3 से मेल खाता है |
* | पूर्ववर्ती तत्व के शून्य या अधिक उदाहरण |
+ | पूर्ववर्ती तत्व के एक या अधिक उदाहरण |
{n} | पूर्ववर्ती तत्व के n उदाहरण |
{m,n} | पूर्ववर्ती तत्व के n उदाहरणों के माध्यम से मी |
उदाहरण
REGEXP के उपयोग को स्पष्ट करने के लिए हम निम्नलिखित डेटा वाली तालिका 'Student_info' का उपयोग कर रहे हैं -
mysql> Select * from Student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Chandigarh | Literature | | 130 | Ram | Jhansi | Computers | | 132 | Shyam | Chandigarh | Economics | | 133 | Mohan | Delhi | Computers | +------+---------+------------+------------+ 5 rows in set (0.00 sec)
अब, निम्नलिखित कुछ प्रश्न हैं जो उपरोक्त तालिका से 'नाम' के पैटर्न को खोजने के लिए REGEXP का उपयोग करते हैं -
mysql> Select Name from student_info WHERE Name REGEXP '^Y'; +---------+ | Name | +---------+ | YashPal | +---------+ 1 row in set (0.11 sec)
उपरोक्त क्वेरी में 'Y' से शुरू होने वाले सभी नाम मिलेंगे।
mysql> Select name from student_info WHERE Name REGEXP 'am$'; +-------+ | name | +-------+ | Ram | | Shyam | +-------+ 2 rows in set (0.00 sec)
उपरोक्त क्वेरी में 'am' के साथ समाप्त होने वाले सभी नाम मिलेंगे।
mysql> Select name from student_info WHERE Name REGEXP 'av'; +--------+ | name | +--------+ | Gaurav | +--------+ 1 row in set (0.00 sec)
उपरोक्त क्वेरी में 'av' वाले सभी नाम मिलेंगे।
mysql> Select name from student_info WHERE Name REGEXP '^[aeiou]|am$'; +-------+ | name | +-------+ | Ram | | Shyam | +-------+ 2 rows in set (0.00 sec)
उपरोक्त क्वेरी में स्वर से शुरू होने वाले और 'am' से समाप्त होने वाले सभी नाम मिलेंगे।