mysql 模糊查询的几种方式

mysql 模糊查询。我们一般写的sql语句是

SELECT 【字段】FROM 【表】WHERE 【字段】LIKE 【匹配表达式】

这里有四种匹配表达式:

1.%

匹配任意字段:select name from user where name like %三%;

这样就会匹配 张三 李三 李三毛等,但是注意这个如果在name字段上添加了索引,并不会去使用索引,而是全文的检索,如果我们写成这样 select name from user where name like 三%;就不会出现这种情况了

想起个实例我的猜测:百度的快速检索,每写一个自都会发送一个请求,但是都是根据类似与 三% 这样的前缀搜索实现的。

2._

这个是用来匹配一个字符的,我们写几个下划线,就会匹配几个字符。例如:

select name from user where name like _三;

只会去匹配张三 李三,不会匹配李小三 ,这样我们就可以去准确的去匹配几个字符的。

3.[]

中括号里面放的是我们要匹配的关键字 指定是一个字符

例如:select name from user where name like [李王]三;

就会匹配李三 王三,不会匹配李王三

4.[^]

这个的意思和3恰恰相反,这个就不会去匹配中括号的关键字,指定是一个字符 例如

select name from user where name like [^李王]三;

不会匹配李三 王三  会匹配孙三

发布了41 篇原创文章 · 获赞 4 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_37992974/article/details/102139789
今日推荐