MySQL नियमित अभिव्यक्तियों पर आधारित एक अन्य प्रकार के पैटर्न मिलान ऑपरेशन और REGEXP ऑपरेटर का समर्थन करता है। निम्न तालिका उन पैटर्न की है, जिनका उपयोग REGEXP ऑपरेटर के साथ पैटर्न मिलान को संभालने के लिए किया जा सकता है।
| पैटर्न | पैटर्न क्या मिलान करता है |
|---|---|
| ^ | स्ट्रिंग की शुरुआत |
| $ | स्ट्रिंग का अंत |
| . | कोई भी एकल वर्ण |
| [...] | वर्गाकार कोष्ठक के बीच सूचीबद्ध कोई भी वर्ण |
| [^...] | वर्गाकार कोष्ठक के बीच सूचीबद्ध नहीं किए गए कोई भी वर्ण |
| p1|p2|p3 | विकल्प; पैटर्न p1, p2, या p3 में से किसी से मिलान करता है |
| * | पूर्ववर्ती तत्व के शून्य या अधिक उदाहरण |
| + | पूर्ववर्ती तत्व के एक या अधिक उदाहरण |
| {n} | पूर्ववर्ती तत्व के n उदाहरण |
| {m,n} | पूर्ववर्ती तत्व के m से 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)
अब, निम्नलिखित कुछ क्वेरी हैं जो उपरोक्त तालिका से 'Name' के पैटर्न को खोजने के लिए 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' पर समाप्त होने वाले सभी नाम ढूंढेगी।