1 DQL查询语句
1.1 排序
# 通过 ORDER BY ⼦句,可以将查询出的结果进⾏排序(排序只是显示⽅式,不会影响数据库中
数据的顺序)
SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 [ASC|DESC];
# ASC: 升序,默认值
# DESC: 降序
1.1.1 单列排序
什么是单列排序:
只按某⼀个字段进⾏排序,称为单列排序。
具体实现:
-- 查询所有数据,使⽤年龄降序排序
select * from student order by age desc;
1.1.2 组合排序
什么是组合排序
同时对多个字段进⾏排序,如果第 1 个字段相等,则按第 2 个字段排序,依次类推。
组合排序的语法
SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 1 [ASC|DESC], 字段名
2 [ASC|DESC];
具体实现:
-- 查询所有数据, 在年龄降序排序的基础上, 如果年龄相同再以数学成绩升序排序
select * from student order by age desc, math asc;
1.2 聚合函数
之前我们做的查询都是横向查询,它们都是根据条件⼀⾏⼀⾏的进⾏判断,⽽使⽤聚合函数查询是纵向查询,它是对⼀列的值进⾏计算,然后返回⼀个结果值。聚合函数会忽略空值 NULL。
我们发现对于 NULL 的记录不会统计,建议如果统计个数则不要使⽤有可能为 null 的列,但如果需要把 NULL 也统计进去呢?
# IFNULL(列名,默认值) 如果列名不为空,返回这列的值。如果为 NULL,则返回默认值。
-- 查询 id 字段,如果为 null,则使⽤ 0 代替
select IFNULL(id, 0) from student;
1.3 分组
# 分组查询是指使⽤ GROUP BY 语句对查询信息进⾏分组,相同数据作为⼀组
SELECT 字段 1,字段 2... FROM 表名 GROUP BY 分组字段 [HAVING 条件];
having 与 where 的区别
1.4 limit语句
1.4.2 limit 的作⽤
LIMIT 是限制的意思,所以 LIMIT 的作⽤就是限制查询记录的条数。
2 数据库备份和还原
2.1备份与还原的语句