MySQL基础之LIKE模糊查询

540 阅读2分钟

在MySQL中,LIKE关键字主要用于搜索匹配字段中的指定内容

语法格式:[NOT] LIKE '指定字符串'

  • NOT:可选参数,字段中的内容与指定字符串不匹配时满足条件
  • 字符串:指定用来匹配的字符串,可以是很完整的字符串,也可以包含通配符

示例:SELECT * FROM user WHERE name LIKE 'ws茹洁9480' image.png NOT LIKE示例:SELECT * FROM user WHERE name NOT LIKE 'ws茹洁9480' image.png

包含通配符查询

通配符是一种特殊语句,主要用来模糊查询。当不知道真正字符或者想不输入完整语句时,可以用来代替一个或多个真正的字符 模糊查询中包含两个通配符:

  • %:最常用的通配符,代表任何长度的字符串,字符串的长度可以为0
  • _:只能代表单个字符,字符的长度不能为0

包含通配符%的使用

例1:查询以指定字符串开头的值 语法格式:SELECT * FROM 表 WHERE 列 LIKE '指定字符串%'

示例:SELECT * FROM user WHERE name LIKE 'wsnk%' image.png 例2:查询以指定字符串结束的值

语法格式:SELECT * FROM 表 WHERE 列 LIKE '%指定字符串'

示例:SELECT * FROM user WHERE name LIKE '%wsnk' image.png 例3:查询包含指定字符串的值

语法格式:SELECT * FROM 表 WHERE 列 LIKE '%指定字符串%'

示例:SELECT * FROM user WHERE name LIKE '%wsnk%' image.png

包含通配符_的使用

例:第三个字符以指定字符串开始,并后面只有三个字符

语法格式:SELECT * FROM 表 WHERE 列 LIKE '__指定字符串___'

示例:SELECT * FROM user WHERE name LIKE '__微___' image.png 说明:_通配符一般在特定情况下使用,需要多少位就有几个通配符,可以与%通配符组合使用,但是项目中一般都是使用【%通配符例3】

注意:

1.MySQL中值不分区大小写,如果需要区分大小写,则加入BINARY关键字

语法格式:SELECT * FROM 表 WHERE 列 LIKE BINARY '%指定字符串%'

示例:SELECT * FROM user WHERE name LIKE BINARY '%WS%' image.png 2.注意通配符左右的空格,空格会干扰通配符的匹配

语法格式:SELECT * FROM 表 WHERE 列 LIKE '% 指定字符串%'

示例:SELECT * FROM user WHERE name LIKE '% ws%' image.png 3.注意NULL,通配符不能匹配NULL值 image.png

拓展:

如果查询内容中包含通配符,则可以使用""转义符

语法格式:SELECT * FROM 表 WHERE 列 LIKE '%指定字符\%串%'

示例:SELECT * FROM user WHERE name LIKE '% w\%s%' image.png