Mysql常用sql语句(9)

您所在的位置:网站首页 模糊查询sql语句like Mysql常用sql语句(9)

Mysql常用sql语句(9)

2024-07-17 01:00| 来源: 网络整理| 查看: 265

测试必备的Mysql常用sql语句系列

https://www.cnblogs.com/poloyy/category/1683347.html

 

前言 like应该是最常用的查询条件了 必须滴掌握!

 

like的语法格式 LIKE '字符串' NOT LIKE '字符串' NOT:取反,不满足指定字符串时匹配 字符串:可以是精确的字符串,也可以是包含通配符的字符串 LIKE支持 % 和 _ 两个通配符

 

确认测试表里有什么数据,方便后面的栗子做对比

 

% 通配符查询的栗子  % 应该是最常用的通配符了,它代表任意长度的字符串,包括0 比如: a%b 表示以字母 a 开头,以字母 b 结尾的任意长度的字符串;该字符串可以代表 ab、acb、accb、accrb 等字符串 查询username字段包含test的记录 select * from yyTest where username like "%test%";

查询username字段开头不为test且department字段等于seewo的记录 select * from yyTest where username not like "test%" and department = "seewo";

知识点

匹配的字符串必须加单引号或双引号 like "%test%" 

 

_ 通配符查询的栗子 _ 只能代表单个字符,字符的长度不能等于0,即字符长度必须等于1;相对于 % 来说, _ 肯定没这么常用 比如: a_b 可以代表 acb、adb、aub 等字符串 查询username字段test开头且后面只跟一个字符结尾的记录 select * from yyTest where username like "test_";

 

like 区分大小写的栗子 默认情况下,like匹配的字符串是不区分大小写的; like "test1" 和 like "TEST1" 匹配的结果是一样的 如果需要区分大小写,需要加入 binary 关键字 不会返回任何记录,test1和test2不会被匹配到 select * from yyTest where username like binary "TEST_";

 

使用转义符的栗子 如果查询的字符串包含%,可以使用 \ 转义符 实际场景:搜索功能,搜索框只输入%看是否返回所有记录,如果是的话证明没有做转义可以提个优化项哦! 转义符+通配符联合使用的栗子 select * from yyTest where username like "%\%"

 

使用通配符的注意点 注意大小写:不加binary关键字的话,大小写是不敏感的 注意头部、尾部多余的空格: " test% " 是不会匹配到“test1”的 注意NULL:通配符是不能匹配到字段为NULL的记录的 不要过度使用通配符:因为Mysql对通配符的处理速度会比其他操作花费更长的时间 在确定使用通配符后:除非绝对有必要,否则不要把它们用在字符串的开始处,把通配符置于搜索模式的开始处,搜索起来是最慢的。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3