- [ 1] LIKE 与 REGEXP
|% | 表示任意0个或多个字符|LIKE '135%' :表示以135开头的所有字符串
LIKE '%ABC' :表示以ABC结尾的所有字符串
LIKE '%1B2%':表示包含1B2字符的所有字符串|
| _ | 表示任意单个字符| 字段名 LIKE '_8_': 表示中间是8的三位字符串
字段名 LIKE '_AA': 表示以AA结尾的三位字符串
字段名 LIKE 'AA_': 表示以AA开头的三位字符串 |
通配符 | 说明 | 举例 |
---|---|---|
% | 表示任意0个或多个字符 | LIKE ‘135%’ :表示以135开头的所有字符串 |
% | LIKE ‘%ABC’ :表示以ABC结尾的所有字符串 | |
% | LIKE ‘%1B2%’ :表示包含1B2字符的所有字符串 | |
_ | 表示任意单个字符 | 字段名 LIKE '-8- ': 表示中间是8的三位字符串 |
_ | 字段名 LIKE ‘_AA’ : 表示以AA结尾的三位字符串 | |
_ | 字段名 LIKE ‘AA_’ : 表示以AA开头的三位字符串 |
通配符 | 说明 | 举例 |
---|---|---|
^ | 表示匹配字符串的开始 | 字段名 REGEXP ‘^C’:表示以C开头的任意字符串 |
$ | 表示匹配字符串的结束 | 字段名 REGEXP ‘C$’:表示以C结尾的任意字符串 |
. | 匹配除“\n”之外的任何单个字符 | 字段名 REGEXP ‘^C0.$’:表示以C0开头的三位字符串 |
[] | 表示方括号内的任意单个字符 | 字段名 REGEXP ‘^.[89].$’:表示中间是8或9的三位字符串 LIKE :表示以A或B开头的所有字符串 字段名 LIKE ‘^【A-z】’ : 表示以首字母开头的所有字符串 |
[^] | 表示除方括号内字符以外的任意单个字符 | 字段名 LIKE ‘^C【’ : 表示以AA开头的三位字符串 |
* | 匹配前面的子表达式0或多次 | 字段名 REGEXP ‘^C[0-9]’:表示以C0开头的三位字符串 |
+ | 匹配前面的子表达式1或多次 | |
{n} | 匹配前面的子表达式n次 | |
{n,m} | 匹配前面的子表达式n次到m次 |
3、
mysql> select * from t_group where gno like 'jx%';
mysql> select * from t_group where gname like '%1431%';
mysql> select * from t_student where sno like '%08';
mysql> select * from t_student where birthday like'____-10-__';
mysql> select * from t_course where cno regexp '^C0[123]$';
mysql> select * from t_student where sno regexp '[^47]$';
mysql> select * from t_student where sno regexp '[5-9]$';
mysql> select * from t_student where birthday regexp '199[68].{4}05';
mysql> select * from t_score order by sno limit 50,10;
+------+------------+-------+
| cno | sno | grade |
+------+------------+-------+
| C02 | 1618053148 | 43 |
| C03 | 1618053148 | 46 |
| C03 | 1625123744 | 66 |
| C01 | 1625123744 | 44 |
| C04 | 1625123744 | 97 |
| C02 | 1625123744 | 58 |
| C03 | 1625123745 | 61 |
| C04 | 1625123745 | 97 |
| C01 | 1625123745 | NULL |
| C02 | 1625123745 | NULL |
+------+------------+-------+
10 rows in set
mysql> select * from t_score where cno='C01' order by sno limit 20,10;
+------+------------+-------+
| cno | sno | grade |
+------+------------+-------+
| C01 | 1625133433 | 59 |
| C01 | 1625133434 | 45 |
| C01 | 1625133435 | 49 |
| C01 | 1625133436 | 48 |
| C01 | 1625133437 | 48 |
| C01 | 1625153213 | 72 |
| C01 | 1625153214 | 81 |
| C01 | 1625153215 | 53 |
| C01 | 1625153216 | 52 |
| C01 | 1625153217 | 68 |
+------+------------+-------+
10 rows in set