MySQL学习笔记:DQL查询语句详解

0 下载量 15 浏览量 更新于2024-08-30 收藏 1.04MB PDF 举报
"本篇是关于MySQL学习笔记的第六部分,主要关注DQL(Data Query Language),即查询语句的使用。通过创建一个名为`student02`的表,包含了id、NAME、age、sex、address、math和english等字段,并插入一些学生数据,展示了基础查询、多个字段查询、去除重复结果以及计算列的操作。" 在MySQL中,DQL是SQL语言的重要组成部分,主要用于从数据库中检索数据。在这个例子中,我们首先创建了一个`student02`表格,用于存储学生的相关信息,包括id(整型)、NAME(可变长度字符串)、age(整型)、sex(可变长度字符串)、address(可变长度字符串)、math(整型)和english(整型)。 接着,我们向`student02`表中插入了一些示例数据,包括8个学生的信息,如id、姓名、年龄、性别、居住城市、数学成绩和英语成绩。 基础查询是指从表中选择特定字段进行显示。例如,`SELECT name, age FROM student02;`会返回所有学生的姓名和年龄。若使用`SELECT * FROM student02;`,则会显示所有字段的信息。 为了去除查询结果中的重复值,可以使用`DISTINCT`关键字。比如,`SELECT DISTINCT address FROM student02;`将返回所有不重复的地址。`DISTINCT`只会在完全相同的字段值之间起作用,这意味着如果某条记录的任何部分不同,它们都将被视为不同的记录。 计算列功能允许我们在查询中执行简单的数学运算。例如,`SELECT name, math, english, math + english FROM student02;`将显示每个学生的姓名、数学成绩、英语成绩以及这两科的总和。然而,当数据中存在NULL值时,如数学或英语成绩为空,加法操作会返回NULL。为了避免这种情况,可以使用`IFNULL`函数来处理可能的NULL值,如`SELECT name, IFNULL(math, 0), IFNULL(english, 0), IFNULL(math, 0) + IFNULL(english, 0) FROM student02;`,这会将NULL值替换为0,然后再进行计算。 这些基本的DQL操作是数据库管理的基础,对理解如何有效地从MySQL数据库中获取和处理信息至关重要。随着对SQL的深入学习,还可以探索更复杂的查询,如联接(JOINs)、子查询、聚合函数(如COUNT、SUM、AVG等)、排序(ORDER BY)、分组(GROUP BY)以及条件过滤(WHERE子句)等。通过不断实践,可以掌握更高级的查询技巧,以满足各种数据分析和报表生成的需求。