6/7 SELECT语句:过滤(正则表达式REGEXP)

这篇博客详细介绍了MySQL中SELECT语句的正则表达式REGEXP的使用,包括匹配任意字符、OR匹配、否定字符集合、匹配范围、特殊字符转义、预定义字符类、数量控制以及定位元字符等,提供了多个实例来帮助理解。
摘要由CSDN通过智能技术生成
序号 说明 操作
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 LIKEREGEXP 二者差别
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;
LIKEREGEXP

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匹配

为搜素两个串之一,使用|
两个以上的

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值