MySQL--操作简记(正则表达式进行搜索)

  • REGEXP
    REGEXP告诉MySQL,其后跟的东西为正则表达式

【1】基本字符匹配

  • .
    匹配任意一个字符
SELECT number
FROM accounts
where number REGEXP '00.';

查找表accounts中包含00,以及其后跟一个任意字符的number
这里写图片描述

——————————————————————————————-

LIKE和REGEXP的一个重要差别!!!!!!

SELECT birthdate
FROM accounts
where birthdate REGEXP '1998';
SELECT birthdate
FROM accounts
where birthdate LIKE '1998';

LIKE匹配整个列,如果1998只是出现在列中,那么LIKE不会返回;
REGEXP在列值内匹配,即只要出现了1998,REGEXP就会返回。

这里写图片描述

这里写图片描述

——————————————————————————————-

【2】进行OR匹配

  • |
    搜索两个串之一
SELECT birthdate
FROM accounts
where birthdate REGEXP '1998|1999';

搜索表accounts中出现1998或1999的birthdate
这里写图片描述

【3】匹配几个字符之一

  • [abc]
    匹配[]中的a或b或c
SELECT phone
FROM accounts
where phone REGEXP '15[09]';

查找表accounts中包含150或159的phone

这里写图片描述

字符集合可以被否定,在集合的开始处放置一个^即可:
[123]匹配1、2或3
[^123]匹配除了这些字符之外的

【4】匹配范围

  • -

假如要匹配数字0到9,即[0123456789],可用-来定义一个范围:[0-9]

【5】匹配特殊字符

  • 两个\
    匹配特殊字符,用两个\为前导,这种处理就是所谓的转义。

【6】匹配字符类

这里写图片描述

【7】匹配多个实例

这里写图片描述

【8】定位符

前面都是任意位置的匹配,如果需要匹配特定位置的文本,需要使用定位符

元字符说明
^文本的开始
$文本的结尾
[[:<:]]词的开始
[[:>:]]词的结尾
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值