MySQL——模糊查询(LIKE关键字与通配符:百分号%和下划线_的使用和理解)——(运用场景+通俗易懂)

使用mysql模糊查询主要点:LIKE关键字和这两个通配符配合使用:

_:任意一个字符,
%:任意0或多个字符。

那么我们立即上手吧!

一、使用LIKE和通配符 _
场景1:我要搜索一个名字,可我都忘记叫什么了,只知道是3个字符的,那怎么搜索呢(三个下划线 _

代码示例

SELECT * FROM test WHERE name LIKE'___';

运行结果
在这里插入图片描述
(没错,一个下划线 _ 对应一个字符)

场景2:我要搜索一个名字总共是3个字符的,可是我只记得第一个字符是 c 后面的忘记了,那怎么搜索呢

代码示例

SELECT * FROM test WHERE name LIKE'c__';

运行结果
在这里插入图片描述
场景3:我要搜索一个名字总共是7个字符的,可是我只记得中间个字符 剽悍 前面和后面忘记了,那怎么搜索呢

SELECT * FROM test WHERE name LIKE'__剽悍___';

运行结果
在这里插入图片描述
场景4:我要搜索一个名字总共是7个字符的,可是我只记得最后两个个字符 种子 前面忘记了,那怎么搜索呢

代码示例

SELECT * FROM test WHERE name LIKE'_____种子';

运行结果
在这里插入图片描述

上面使用下划线 _ 可以发现一个核心三个点:

一个核心:

需要确定想要搜索的个数,否则查询不到(简单的说就是需要一个信息:知道字符个数)

三个点:

1.不管匹配字母还是中文都是可以的,因为""双引号代表字符嘛。
2.一个下划线 _ 对应一个字符,如果想搜索某个数据,那么 _ 与字符个数要一致。
3.匹配的时候如果还知道哪几位的是什么字符,可以让结果更精确。

二、使用LIKE和通配符 %
场景1:我要搜索一个名字只知道开头是一的字,后面是什么字,有多少个字符都不知道,那怎么搜索呢

代码示例

SELECT * FROM test WHERE name LIKE'一%';

运行结果
在这里插入图片描述
场景2:那反过来我要搜索一个名字只知道最后一个是子的字,前面是什么字,有多少个字符也都不知道,那怎么搜索呢

代码示例

SELECT * FROM test WHERE name LIKE'%子';

运行结果
在这里插入图片描述
场景3: 那来个折中的,我要搜索一个名字只知道中间其中一个是悍的字,前面是什么字,后面有多少个字符通通都不知道,那怎么搜索呢

代码示例

SELECT * FROM test WHERE name LIKE'%悍%';

(但是有一点就是这上面左右两个%%,中间一个字符【只要知道某一个字符,就可以匹配,不需要确定该字符是否在中间】)
运行结果
在这里插入图片描述
上面使用下划线 % 比较好理解,但是有一个关键点:只要知道其中某个一个字符就可以匹配的意长度的字符。(简单的说需要一个信息:知道某个字符)

三、 _% 的结合使用提高精确:
还是来个场景: 我要搜索一个名字,第三个字是剽字,前两个字不知道,后面有多少个字是什么当然也不知道,但是我们比前面所演示的知道的信息多一些,那么我们的查询结果也会更加精确!

代码示例

 SELECT * FROM test WHERE name LIKE'__剽%';

在这里插入图片描述

最后:
模糊查询当然不只 %_ 这两个,由于篇幅原因下次一起继续来实践和理解。数据库好玩的地方不只是结合后端语言,单独拿出来也有很多很有意思的事情,下次也一起发一篇用SQL符号提高我们平常搜索的效率。

那就点赞关注一下哦!

哈哈…不强求啦,只是你可以第一时间收到😜

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章