MySQL | 您所在的位置:网站首页 › sql中用来查询数据库内容的关键字 › MySQL |
使用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符号提高我们平常搜索的效率。 那就点赞关注一下哦! 哈哈…不强求啦,只是你可以第一时间收到😜 |
CopyRight 2018-2019 实验室设备网 版权所有 |