在对数据进行查询时,有时候并不知道 完整的条件是什么,这时候就需要用到模糊查询。
模糊查询的关键字是LIKE
占位符:
- _:单个任意字符
- %:多个任意字符
这里以下表为例子进行举例:

其中有4个姓马的人物,现在对其进行模糊查询:SELECT * FROM student WHERE NAME LIKE '马_';,这里使用的是_占位符,表示,马后面只有一个字符,所以查询记录为2个字的,如下图所示:

接下来使用%占位符:SELECT * FROM student WHERE NAME LIKE '马%';,%为任意字符占位符,后面不管有多少字符,只要第一个字符是马字,就进行匹配,结果如下图所示

这里再举几个例子
1,查询姓名当中第二个字是“化”的记录:SELECT * FROM student WHERE NAME LIKE "_化%";,因为第二个字是化,说明第一个字任意,用_单一占位符,化后面多少字并没有限制,所以用%多个任意字符。

在mysql里面,单引号跟双引号效果一样。
2,查询姓名是三个字的所有记录:SELECT * FROM student WHERE NAME LIKE "___";,因为姓名是三个字,并没有说明三个什么字,所以用三个单一占位符表示,这里因为连续三个占位符(英文下划线),所以看起来好像一个。

3,查询姓名中包含“德”字的所有记录:SELECT * FROM student WHERE NAME LIKE "%德%";,因为不管德字前面和后面有多少字,只要有德字,就查询出来,所以这里用两个多位任意占位符表示。结果如下图所示:

更多用法可以自行探索

694





