12.模糊查询

  • • 发表于 3年前
  • • 作者 大妖怪
  • • 2425 人浏览
  • • 0 条评论
  • • 最后编辑时间 2年前
  • • 来自 [技 术]

原创声明:本文为作者原创,未经允许不得转载,经授权转载需注明作者和出处

再来一个场景,在之前的表的基础上,需要查出name里有第一个字符是’大’的数据:

SELECT * FROM person WHERE name LIKE '大%';


这一句使用了模糊查询,模糊查询的语法格式是在条件后面使用’LIKE’ 关键字,在所要查询的内容中加入通配符’%’,其中’%’代表任意多个任意字符,那么LIKE ‘大%’这段命令的意思就是查找第一个字符是大,后面有任意多个字符的内容,也就是第一个字符是’大’的数据。
总结一下:

  • 如果%通配符放到结尾,开头是固定内容,那就是查找以这个内容开头的数据,如’大%’;
  • 如果%通配符放到开头,结尾是固定内容,那就是查找以这个内容结尾的数据,如’%大’;
  • 如果通配符放到首尾,中间是固定内容,那么就是查找包含这个内容的数据,如’%大%’;

通配符除了’%’,还有一种常用的是’_‘,这个通配符代表一个任意字符,比如查询第第三个字符是某个字符的数据,如: ‘__怪’;

模糊查询的效率非常低,因为它在匹配数据的时候是一行行往下找的,对于数据量大的项目,查找数据非常费时,所以一般情况下我们应该避免使用模糊查询,真正在做搜索的时候一般会自己建立索引,然后用程序来维护,或者直接使用搜索引擎,当然,mysql自己也可以在插入数据的时候创建索引(这个鄙人完全没有使用过),所以本章内容只做了解,顺便贴出大神总结的mysql通配符的文章:
https://blog.csdn.net/win7system/article/details/53508401

分享到:
评论区(共0条评论)
0条评论
Ctrl+Enter
作者

大妖怪

大妖怪

APP:1 帖子:76 回复:197 积分:7483

已加入社区[1546]天

梦里巷口,可有你倚门回首

作者详情》
Top