查询
SELECT:查询关键字:遇到select 是要查询 insert插入 update修改 delete修改
* : *的位置代表要查询的列, *:代表所有列 可以制定相关列 多的时候用,隔开
SELECT id,name FROM student
FROM : 后面跟表名
查询的结果是一个二维的表 包含列名和每一列的数据
条件查询
查询年龄20岁的同学
SELECT * FROM student WHERE age=20
WHERE后面跟查询条件 查询字符串类型加 ' '
SELECT * FROM student WHERE name='张三'
查询班级号位20201001的学生姓名和性别
SELECT name,sex FROM student WHERE class_num='20201001'
多条件情况下
查询出班级号为20201001班的学生并且要求是男生,年龄大于20 AND
SELECT * FROM student WHERE class_num='20201001'AND sex='男' AND age>20
查询出班级号为20201001班的学生或者性别为女的学生
SELECT * FROM student WHERE class_num='20201001' OR sex='女'
去重查询
查询出表当中由哪些性别
SELECT DISTINCT sex FROM student
模糊查询
多用于搜索
关键字:LIKE 通配符: % 任意多个字符 _ 单个字符
查询出所有名字里带 王 的同学
SELECT * FROM student WHERE name like '%王%'
注意 :王% 只能查询王开头的 后面可以有任意字符 需要查询名字中带王的用%王$
查询排序
默认排序是根据id从小到大排序
按照年龄从低到高排序
SELECT * FROM student ORDER BY age;
按照年龄从高到低排序 关键字 DESC
SELECT * FROM student ORDER BY age;
分页查询
关键字 LIMIT (限定查询)
查询出第一页的数据 这一页有三条数据
SELECT * FROM student LIMIT 3 OFFSET 0
LIMIT 限定查询xx条数据 OFFSET 从第xx条数据开始 (默认第一条数据是零)
查询第二页数据
SELECT * FROM student LIMIT 3 OFFSET 3
真正知道的是当前页数和每页查询的数据(基本是固定的)
SELECT * FROM student LIMIT 每页的数据量 OFFSET 每页数据量*页数-1
SELECT * FROM student LIMIT 0,3
LIMIT 0,3 第一个是从第几条数据查起,第二个是查几条数据
聚合查询
- SUM() 求和(数值类型)
- AVG() 求平均数
- COUNT() 算数量
- MAX() 最大值
- MIN() 最小值
查看表中有多少数据
SELECT COUNT(id) num FROM student
平均年龄
SELECT AVG(age) age FROM student
分组
关键字 GROUP BY
查询出各个班男生的平均年龄
SELECT AVG(age) age FROM student GROUP BY class_num
查询各个班人数
SELECT AVG(age) age FROM student GROUP BY class_num