mysql模糊查询LIKE、REGEXP(正则)的详解(在可视化工具navicat下)

https://blog.csdn.net/hanhanwanghaha宝藏女孩 欢迎您的关注!
欢迎关注微信公众号:宝藏女孩的成长日记
如有转载,请注明出处(如不注明,盗者必究)


LIKE运算符: 执行通配查询,查询条件可包含文字字符或数字

  ‘%‘代表的是任意个字符,它的效果像是正则表达式里的’*’

  ‘_‘字符,这表示一个任意字符。效果类似正则表达式里面的’.’

REGEXP运算符: 是mysql的正则匹配操作符.

一、总结

LIKE

通配符含义
%表示任意个数的任意字符,匹配任意类型和长度的字符
-表示一个任意字符,匹配一个任意字符,常用来限制表达式的字符长度语句

REGEXP(正则)

通配符含义
[ ]表示括号内所列字符中的一个字符
[^ ]表示不在括号所列之内的一个字符
^匹配字符串开始位置
$匹配字符串结束位置
.匹配除\n之外的任意单个字符
*匹配前面的子表达式零次或多次
A|B|C表示匹配A或B或C

二、语法

SELECT 字段() FROMWHERE 查询字段(列) LIKE/REGEXP 条件

三、LIKE举例

3.1"%"的用法

3.1.1举例表

%:表示任意个数的任意字符,匹配任意类型和长度的字符
要求:将商品名中带有“牙膏”的都找出来
在这里插入图片描述

3.1.2代码

SELECT * FROM business WHERE goodsName LIKE '%牙膏%' 

3.1.3运行结果

在这里插入图片描述

3.2“-”的用法

3.2.1举例表

_ :表示一个任意字符,匹配一个任意字符,常用来限制表达式的字符长度语句
要求:1.找出以张开头的两个字的用户名 2.找出第二个字为浩的用户名
在这里插入图片描述
注:一个“_”代表一个字符

3.2.2代码

SELECT * FROM nameone WHERE username LIKE '张_' 
SELECT * FROM nameone WHERE username LIKE '_浩_' 

3.2.3运行结果

在这里插入图片描述
在这里插入图片描述

四、REGEXP举例

4.1“[ ]”的用法

4.1.1举例表

[]:表示括号内所列字符中的一个字符
要求:将为(1-3)狗子用户名都找出来
在这里插入图片描述

4.1.2代码

SELECT * FROM nameone WHERE username REGEXP '[1-3]狗子';

4.1.3运行结果

在这里插入图片描述

4.2“[^]”的用法

4.2.1举例表

[^ ] :表示不在括号所列之内的一个字符
要求:将除了序号为(1-3)且后缀为狗子的用户名都找出来
在这里插入图片描述

4.2.2代码

SELECT * FROM nameone WHERE username REGEXP '[^1-3]狗子';

4.2.3运行结果

在这里插入图片描述

4.3“^”的用法

4.3.1举例表

^:匹配字符串开始位置
要求:将以“张”开头的找出来
在这里插入图片描述

4.3.2代码

SELECT * FROM nameone WHERE username REGEXP '^张';

4.3.3运行结果

在这里插入图片描述

4.4“$”的用法

4.4.1举例表

$:匹配字符串结束位置
要求:找出以七结尾的用户名
在这里插入图片描述

4.4.2代码

SELECT * FROM nameone WHERE username REGEXP '七$';

4.4.3运行结果

在这里插入图片描述

4.5“.”的用法

4.5.1举例表

. :匹配除\n之外的任意单个字符
要求:将第三个字为“然”的用户名找出来
在这里插入图片描述

4.5.2代码

SELECT * FROM nameone WHERE username REGEXP '..然';

4.5.3运行结果

在这里插入图片描述

4.6“A|B|C”的用法

4.6.1举例表

A|B|C表示匹配A或B或C
要求:将匹配张、狗、二的用户名都找出来
在这里插入图片描述

4.6.2代码

SELECT * FROM nameone WHERE username REGEXP '张|狗|二';

4.6.3运行结果

在这里插入图片描述

4.7“*”的用法

4.7.1举例表

*:匹配前面的子表达式零次或多次,例如 ,张 山 * 能匹配张以及张山山
要求:将张山、张田、张山山统统找出来
在这里插入图片描述

4.7.2代码

SELECT * FROM nameone WHERE username REGEXP '张山*';

4.7.3运行结果

在这里插入图片描述

希望可以帮到你!若有不足,欢迎指出.

  • 10
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值