MySQL中的LIKE关键字与匹配模式联合使用,用于确定所有与给定匹配模式相匹配的记录。匹配模式类与正则表达式,它本身是一个字符串,但是这个字符串中的字符描述了某种句法规则,也就是说,这些字符串描述了某类字符串必须满足的规则。匹配模式中可以包括常规
MySQL中的LIKE关键字与匹配模式联合使用,用于确定所有与给定匹配模式相匹配的记录。匹配模式类似与正则表达式,它本身是一个字符串,但是这个字符串中的字符描述了某种句法规则,也就是说,这些字符串描述了某类字符串必须满足的规则。匹配模式中可以包括常规字符与通配符。MySQL支持的通配符及意义如下:
通配符 | 含义 |
---|---|
% | 表示零个或者多个任意字符,例如“s%”表示以s开头的任意字符串,“%s%”表示包含字符s的任意字符 |
_(下划线) | 表示任意单个字符,例如“sm_”表示任何以“sm”开头的长度为3的字符串,支持中文,可以对应任意一个中文字符 |
如果匹配模式中没有包含通配符,则与使用“=”的运算效果是相同的,例如:
- select * from grade where no like '110101';
等价于
- select * from grade where no = '110101';
下面来看看几个小实例:
- -- 查询所有姓“许”的学生
- select * from student where name like '许%';
- -- 查询所有姓“许”,且名字全称只有两个字的学生
- select * from student where name like '许_';
- -- 查询email地址是以x开头的sohu.com的邮箱的学生
- select * from mail like 'x%@sohu.com';
可以将NOT关键字与LIKE同时使用,例如查询所有不姓“许”的学生:
- select * from student where name not like '许%';