Mysql进阶:DQL查询、排序、聚合与分组详解

0 下载量 116 浏览量 更新于2024-08-30 收藏 77KB PDF 举报
小码蚁的Mysql笔记(二)主要涵盖了MySQL数据库中的核心概念和实用技能,包括查询语言(DQL)的深入理解。首先,DQL(数据查询语言)是用于检索、过滤和处理数据库数据的基础。它主要包括以下四个关键部分: 1. **排序查询**:使用`ORDER BY`子句来对查询结果进行排序,支持升序(ASC)和降序(DESC)排列。在有多个排序条件时,会按顺序依次判断。例如,`SELECT * FROM table ORDER BY column1 ASC, column2 DESC`。 2. **聚合函数**:这些函数用于对数据进行汇总计算。常用的聚合函数有: - `COUNT()`:计算指定列的非空记录数或所有记录数。 - `MAX()`:返回指定列的最大值。 - `MIN()`:返回指定列的最小值。 - `SUM()`:求和指定列的所有数值。 - `AVG()`:计算指定列的平均值。聚合函数会自动忽略NULL值,如果需要处理NULL,可以使用`IFNULL()`函数。 3. **分组查询**:通过`GROUP BY`子句将数据按照一个或多个字段进行分组,常与聚合函数一起使用。例如,查询按性别分组的学生数学平均分及其人数,或者筛选特定条件后再分组统计。 4. **分页查询**:虽然没有具体给出,但通常通过`LIMIT`关键字配合偏移量`OFFSET`实现分页效果,如`SELECT * FROM table LIMIT offset, limit_size`。 5. **约束**:用来确保数据的完整性,如`NOT NULL`约束确保字段不允许有NULL值,`UNIQUE`约束确保字段值唯一等。 6. **多表关系**:涉及数据库设计时,理解表之间的关联(如一对多、一对一或多对多关系),通过JOIN操作获取跨表数据。 7. **范式**:数据库设计的重要理论,用于评估表结构的优化程度,包括第一范式(消除重复元组)、第二范式(消除部分依赖)等。 8. **数据库备份和还原**:定期备份数据库以防数据丢失,可以通过`mysqldump`命令创建SQL脚本备份,恢复时使用`mysql`或`mysqlimport`命令。 这篇笔记提供了对SQL基础操作的详细讲解,有助于读者深入理解和应用MySQL,无论是初学者还是进阶者都能从中获益。