序号 | 说明 | 操作 |
---|---|---|
1 | REGEXP (正则表达式) |
LIKE 替换成REGEXP |
2 | 匹配任意1个字符 | 元字符:. |
3 | OR匹配 | | |
4 | 匹配几个字符之一 | [a|b] |
5 | 匹配除指定字符外的字符 | [^a|b] |
6 | 匹配范围 | [a-b] |
7 | 匹配特殊字符 | 以\\ 为前导 |
8 | 引用元字符 | 以\\ 为前导 |
9 | 匹配字符类 | [:alnum:] 、[:xdigit:] 、[:alpha:] 、[:upper:] 等 |
10 | 匹配多个实例 | 重复元字符总结 |
11 | 匹配特定位置 | 定位元字符总结 |
12 | LIKE 与REGEXP |
二者差别 |
13 | 匹配区分大小写 | REGEXP BINARY |
以下为数据库SQLTEST
中的三张表,其结构和内容如下:
1.REGEXP
(正则表达式)
# 删除表记录
mysql> DELETE
-> FROM t_stu_profile
-> WHERE Stu_id IN (7,8,9);
# 插入表记录
mysql> INSERT t_stu_profile VALUES
-> (7, 'a1000', 'F', 20, '0614'),
-> (8, 'a2000', 'M', 21, '0611');
LIKE
替换成REGEXP
;
LIKE
与REGEXP
:
mysql> SELECT *
-> FROM t_stu_profile
-> WHERE Gender REGEXP 'F';
+--------+----------+--------+------+----------+
| Stu_id | Stu_Name | Gender | Age | Class_id |
+--------+----------+--------+------+----------+
| 1 | 郭东 | F | 16 | 0611 |
| 3 | 张北 | F | 16 | 0613 |
| 5 | 王五 | F | 17 | 0614 |
| 6 | 赵七 | F | 16 | 0615 |
| 7 | a1000 | F | 20 | 0614 |
+--------+----------+--------+------+----------+
2.匹配任意1个字符
.
表示匹配任意1个字符
mysql> SELECT *
-> FROM t_stu_profile
-> WHERE Stu_Name REGEXP 'a.000';
+--------+----------+--------+------+----------+
| Stu_id | Stu_Name | Gender | Age | Class_id |
+--------+----------+--------+------+----------+
| 7 | a1000 | F | 20 | 0614 |
| 8 | a2000 | M | 21 | 0611 |
+--------+----------+--------+------+----------+
3.OR匹配
为搜素两个串之一,使用
|
;
两个以上的