数据库(十一)-单表查询(2)模糊查询

模糊查询

上篇文章我们简单介绍了单表查询中的条件查询,里面介绍了一些精确查询和范围查询的基本方法,但当我们想要查询一些具有模糊条件的数据时,如:我们要在一张学生表中查询所有姓张的学生,或者我们想要查询含有某个字母或数字的数据时,使用上篇文章中介绍的几种方法就没有办法了,所以为了解决这个问题,今天我们来介绍一下使用LIKE关键字进行模糊查询。

在介绍LIKE关键字之前,先来了解两个比较常用的通配符%_(后面会介绍MySQL提供的正则模式的模式匹配,先介绍两个最常用的):

"%" 代表的是任意长度的字符串,例如:n%就代表以n开头的任意长度的字符串;

"_" 代表的是任意单个字符,就是有几个_就代表有多少个字符,例如n__就代表以n开头的长度为3的字符串;

总体来说,这两个的区别在于匹配的字符串的长度,%匹配多个字符,而_仅匹配一个字符。

下面我们介绍几个使用模糊查询的例子:

1.查询姓名由5个字母构成的学生记录

SELECT * 
FROM stu
WHERE sname LIKE '_____';

2.查询姓名由5个字母构成,并且第5个字母为“a”的学生记录

SELECT * 
FROM stu
WHERE sname LIKE '____a';

3.查询姓名以“张”开头的学生记录

SELECT * 
FROM stu
WHERE sname LIKE '张%';

4.查询姓名中第2个字为“一”的学生记录

SELECT * 
FROM stu
WHERE sname LIKE '_一%';

5.查询姓名中包含“一”字的学生记录

SELECT * 
FROM stu
WHERE sname LIKE '%一%';

你可能感兴趣的:(数据库(十一)-单表查询(2)模糊查询)