MySQL中的DQL语句用于查询数据的记录。
目录
基础语法
SELECT
SELECT 列名1,列名2,...
FROM tableName
在SELECT基础上添加限制
在查询的过程中,只使用 SELECT 语句往往筛选不到我们要获取的数据,所以我们要在 SELECT 语句的基础上进行限制。
该文章的示例要用到的表 student 如下:
studentNo | loginPwd | studentName | sex | gradeld |
---|---|---|---|---|
10000 | 123 | 郭靖 | 男 | 1 |
10001 | 123 | 李文才 | 男 | 1 |
10002 | 123 | 李斯文 | 男 | 1 |
10003 | 123 | 张萍 | 女 | 1 |
10004 | 123 | 韩秋洁 | 女 | 1 |
10005 | 123 | 张秋丽 | 女 | 1 |
10006 | 123 | 肖梅 | 女 | 1 |
10007 | 123 | 郭秦洋 | 男 | 1 |
10008 | 123 | 何睛睛 | 女 | 1 |
20000 | 123 | 王宝宝 | 男 | 2 |
20010 | 123 | 何小华 | 女 | 2 |
30011 | 123 | 陈志强 | 男 | 3 |
30012 | 123 | 李露露 | 女 | 3 |
WHERE 关键字后可以写我们要限制的条件,格式为
SELECT 列名1,列名2,...
FROM tableName
WHERE 限制条件
例如,查询student表中的所有男生学生信息,* 通配符,写在SELECT后表明匹配表中的所有列。
SELECT *
FROM student
WHERE sex = '男'
模糊查询
关键字为 LIKE ,可以匹配字符来查询需要的数据。有以下两种通配符:
1. %
可以匹配任意数量的任意字符,如 ' %A% ' 则是匹配含有字母 'A' 的项。
2. _
下划线,可以匹配任意 单个 字符。
例如:查询 studentName 字段中含有 '李' 的学生信息
SELECT *
FROM student
WHERE studentName LIKE '%李%'
例如:查询 studentNo 字段中最后一位为2的学生的studentNo字段和studentName字段
SELECT studentNo,studentName
FROM student
WHERE LIKE '%2'
区间查询
关键字 BETWEEN value1 AND value2 。查询指定字段在区间内的数据,
例如:查询 studentNo 字段在 [ 10002,30011 ] 的学生信息
SELECT *
FROM student
WHERE studentNo BETWEEN 10002 AND 30011
函数
统计函数 COUNT() ,
例如:统计学生总数
SELECT COUNT(1) AS studentCount
FROM student
求平均数 AVG() ,
例如:求所有学生的学号studentNo的平均数
SELECT AVG(studentNo) AS avgNo
FROM student
求和函数 SUM() ,
例如:求所有学生 gradeld 字段的和
SELECT SUM(gradeld) AS sumGrade
FROM student
最大值 MAX() ,最小值 MIN() ,
例如,求学生学号studentNo的最大值和最小值
SELECT MAX(studentNo) AS maxNo , MIN(studentNo) AS minNo
FROM student