MySQL带LIKE关键字的查询
2018-03-19 14:50
253 查看
MySQL带LIKE关键字的查询,MySQL中,LIKE关键字可以判断两个字符串是否相匹配,语法格式。
SELECT * | {字段名1,字段名2,……}
FROM 表名
WHERE 字段名 [NOT] LIKE ‘匹配字符串’;
匹配字符串,指定用来匹配的字符串,其值,可以是一个普通字符串,也可以是包含百分号%,和下划线_的通配字符串。
百分号和下划线,统称为通配符
可以看出,返回的结果中name字段值,都是以字符s开头
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092225132.png)
百分号通配符,可以出现在通配字符串的任意位置查询student表中name字段值,以字符w开始,以字符g结束的学生id
可以看出,匹配的有两条记录在通配字符串中,可以出现多个百分号通配符
查询student表中,name字段值包含字符“y”的学生id
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092225133.png)
可以看出,通配字符串中字符“y”的前后,各有一个百分号通配符,它匹配包含字符“y”的字符串LIKE之前,可以使用NOT关键字,用来查询与指定通配字符串,不匹配的记录
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092225134.png)
可以看出,查询的结果正好相反
下划线通配符,只匹配单个字符,如果要匹配多个字符,需要使用多个下划线通配符。比如
字符串“cu_”匹配以字符串“cu”开始,长度为3的字符串
字符串“cu__”匹配以字符串“cu”开始,长度为4的字符串注意,如果使用多个下划线,匹配多个连续的字符串,下划线之间不能有空格查询student表中,name字段值以字符串“wu”开始,以字符串“ong”结束,并且,两个字符串之间,只有一个字符的记录可以看出,一个下划线,匹配了一个字符
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092225135.png)
修改查询条件,将匹配字符串改为“wu_ng”,再次执行查询语句
可以看出,返回记录为空查询student表中,name字段值包含7个字符,并且,以字符串“ing”结束的记录
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092226136.png)
可以看出,通配符中使用了4个下划线通配符
“_”匹配下划线字面值查询student表中,name字段值包括“%”的记录
首先,向student表中,插入一条记录
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092226137.png)
可以看出,查询出了name字段值为“sun%er”的记录原文地址:https://www.2cto.com/database/201707/655657.html
cf2f
SELECT * | {字段名1,字段名2,……}
FROM 表名
WHERE 字段名 [NOT] LIKE ‘匹配字符串’;
参数说明
NOT,可选参数,表示查询与指定字符串不匹配的记录匹配字符串,指定用来匹配的字符串,其值,可以是一个普通字符串,也可以是包含百分号%,和下划线_的通配字符串。
百分号和下划线,统称为通配符
一、百分号%通配符
匹配任意长度的字符串,包括空字符串,比如,字符串“c%”匹配以字符c开始的任意长度的字符串查询student表中,name字段值以字符s开头的学生id可以看出,返回的结果中name字段值,都是以字符s开头
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092225132.png)
百分号通配符,可以出现在通配字符串的任意位置查询student表中name字段值,以字符w开始,以字符g结束的学生id
可以看出,匹配的有两条记录在通配字符串中,可以出现多个百分号通配符
查询student表中,name字段值包含字符“y”的学生id
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092225133.png)
可以看出,通配字符串中字符“y”的前后,各有一个百分号通配符,它匹配包含字符“y”的字符串LIKE之前,可以使用NOT关键字,用来查询与指定通配字符串,不匹配的记录
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092225134.png)
可以看出,查询的结果正好相反
二、下划线(_)通配符
下划线通配符,与百分号通配符不同下划线通配符,只匹配单个字符,如果要匹配多个字符,需要使用多个下划线通配符。比如
字符串“cu_”匹配以字符串“cu”开始,长度为3的字符串
字符串“cu__”匹配以字符串“cu”开始,长度为4的字符串注意,如果使用多个下划线,匹配多个连续的字符串,下划线之间不能有空格查询student表中,name字段值以字符串“wu”开始,以字符串“ong”结束,并且,两个字符串之间,只有一个字符的记录可以看出,一个下划线,匹配了一个字符
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092225135.png)
修改查询条件,将匹配字符串改为“wu_ng”,再次执行查询语句
可以看出,返回记录为空查询student表中,name字段值包含7个字符,并且,以字符串“ing”结束的记录
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092226136.png)
可以看出,通配符中使用了4个下划线通配符
三、使用百分号和下划线通配符,进行查询操作
百分号和下划线是通配符如果,要匹配字符串中的百分号和下划线,需要在通配符中,使用右斜线“\”对百分号和下划线,进行转义“\%”匹配百分号字面值“_”匹配下划线字面值查询student表中,name字段值包括“%”的记录
首先,向student表中,插入一条记录
![](https://www.2cto.com/uploadfile/Collfiles/20170710/20170710092226137.png)
可以看出,查询出了name字段值为“sun%er”的记录原文地址:https://www.2cto.com/database/201707/655657.html
cf2f
相关文章推荐
- MySQL带LIKE关键字的查询
- 使用mybatis在mysql中进行like查询遇到的问题
- mysql多关键字多字段模糊查询
- Mybatis中oracle、mysql、db2、sql server的like模糊查询
- MySQL带IN关键字的查询
- MySQL多关键字多字段模糊查询
- MySQL数据表中带LIKE的字符匹配查询
- mysql 替换like查询的几种方法
- mysql中两个字段 同时like模糊查询
- Mysql模糊查询like效率,以及更高效的写法
- mysql中使用like模糊查询时如何转义%
- MySQL中int类型的字段使用like查询方法
- mysql --- 模糊查询like+%
- mysql: 模糊查询 feild like keyword or feild like keyword , concat(feild1,feild2,feild3) like keyword
- MySQL带BETWEEN AND关键字的查询
- MySql like模糊查询通配符使用详细介绍
- MySQL 关键字查询
- MySQL模糊查询(like)时区分大小写
- Mybatis中oracle、mysql、db2、sql server的like模糊查询
- Mysql使用limit关键字分页查询