在Mysql里面,有一种查询是模糊查询,我们常用的搜索框的搜索引擎就是一个模糊查询,通过输入的文字,去进行匹配检索,这个就是mysql里面的like子句
SELECT * FROM mytable WHERE field LIKE field;
在 like 子句中,我们使用 % 百分号使用通配符,如果没有使用通配符去匹配,那就不是迷糊查询了,等于使用where条件,进行的一个精确的查询,相等于**=**等于号
模糊查询
% 百分号
现在我们可以通过查询user表格,使用模糊查询去查找一下名字
SELECT * FROM user WHERE user_name LIKE '%谁';
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/909afc6ae85e463abd82d9db87954f7b.png
我们把百分号在前,会使用通配符去匹配前面的内容,这里通过关键字谁为基准去查询,查到的结果就是名字为我是谁的数据,百分号除了可以在前,也可以在后面进行匹配
SELECT * FROM user WHERE user_name LIKE '谁%';
可以看到上面的两个查询结果,是根据百分号的前后位置,进行的匹配内容,去查询结果
_ 下划线
like子句除了百分号之外,还有一个通配符是下划线
SELECT * FROM user WHERE user_name LIKE '_是谁';
通过这个sql查询,也是可以查询出来这条数据,百分号和下划线的区别在于,%百分号表示任意0个或多个字符,_下划线表示任意单个字符,也就是说,这个sql语句里面只匹配到一个我字,第一句sql里面的百分号匹配到的是我是两个字