Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL REGEXP ऑपरेटर क्या है और यह पैटर्न मिलान को कैसे संभालता है?

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' पर समाप्त होने वाले सभी नाम ढूंढेगी।

  1. - MySQL से कॉलम नाम और प्रकार कैसे निकालें?

    कॉलम नाम और प्रकार निकालने के लिए INFORMATION_SCHEMA.COLUMNS का उपयोग करें: select concat(column_name,=,data_type) as anyAliasName from information_schema.columns where table_schema= yourDatabaseName and table_name= yourTableName; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1812 (

  1. - MySQL में AND और OR ऑपरेटर का अंतर पंक्तियाँ प्राप्त करते समय

    अंतर AND: दोनों शर्तें TRUE होनी चाहिए। OR: कम से कम एक शर्त TRUE होनी चाहिए। उदाहरण टेबल insert into demo70(name,age) values(John,23), (David,21), (Mike,22), (Chris,20), (John,24), (David,22); OR क्वेरी: name=John OR age=22 select * from demo70 where name=John or age=22; +----+-------+------

  1. - C# 7.0 में पैटर्न मैचिंग क्या है?

    C# 7.0 ने पैटर्न मैचिंग पेश किया जो is एक्सप्रेशन और switch स्टेटमेंट में काम करता है। यह मान की आकृति की जांच करता है और मिलान होने पर जानकारी निकालता है। पैटर्न मैचिंग के लाभ एल्गोरिदम के लिए अधिक संक्षिप्त सिंटैक्स किसी भी डेटा टाइप पर काम करता है (केवल प्रिमिटिव्स नहीं) एक्सप्रेशन से मान निकाल