MySQL - RegExp
MySQL supports another type of pattern matching operation based on the regular expressions and the REGEXP operator.
Pattern | Description |
---|---|
* | Zero or more instances of string preceding it |
+ | One or more instances of strings preceding it |
. | Any single character |
? | Match zero or one instances of the strings preceding it. |
^ | caret(^) matches Beginning of string |
$ | End of string |
[abc] | Any character listed between the square brackets |
[^abc] | Any character not listed between the square brackets |
[A-Z] | match any upper case letter. |
[a-z] | match any lower case letter |
[0-9] | match any digit from 0 through to 9. |
[[:<:]] | matches the beginning of words. |
[[:>:]] | matches the end of words. |
[:class:] | matches a character class i.e. [:alpha:] to match letters, [:space:] to match whitespace [:punct:] is match punctuations and [:upper:] for upper class letters. |
p1/p2/p3 | Alternation; matches any of the patterns p1, p2, or p3 |
{n} | n instances of preceding element |
{m,n} | m through n instances of preceding element |
Gives all the names starting with 'Ja'.
SELECT ParentName FROM studentrecord WHERE ParentName REGEXP '^Ja';
---------RESULT-----------
+-------------------+
| ParentName |
+-------------------+
| Jagannath |
+-------------------+
Gives all the names ending with 'ha'.
SELECT StudentName FROM studentinfo WHERE StudentName REGEXP 'ha$';
-----------RESULT------------
+-------------------+
| StudentName |
+-------------------+
| Manjusha |
+-------------------+
| Sweekrutha |
+-------------------+
Gives all the titles containing 'stu?'.
SELECT studentmarks FROM Studentmarks WHERE studentmarks REGEXP 'stu?';
----------RESULT-----------
+-----------------+
| Studentmarks |
+-----------------+
Gives all the names containing 'nn|ee' .
SELECT ParentName FROM studentrecord WHERE ParentName REGEXP 'nn|ee' ;
---------RESULT------------
+---------------+
|ParentName |
+---------------+
|Jagannath |
|Praveen |
+---------------+
Gives all the names containing 'm' or 'n'
SELECT StudentName FROM studentinfo WHERE StudentName REGEXP '[mn]' ;
------------RESULT-----------
+--------------+
| StudentName |
+--------------+
| Manjusha |
| Noothan |
| Meherish |
| Sahayana |
| manju |
+--------------+
Retrieve all names that contain a letter in the range of 'b' and 'z', followed by any character, followed by the letter 'a'.
Matches any single character(.)
SELECT StudentName FROM studentrecord WHERE StudentName REGEXP '[b-z].[a]';
---------RESULT-----------
+---------------+
|StudentName |
+---------------+
|Anasya |
|Shivanatini |
+---------------+
MySQL - Grant_ Revoke Privilege
posted on 2019-11-26 23:15:04 - mysql Tutorials