MySQL入门:SQL查询与数据操作

需积分: 0 0 下载量 65 浏览量 更新于2024-08-04 收藏 15KB MD 举报
"MySQL笔记,包含了对SQL语言的基本概念和MySQL查询语句的介绍,强调了数据结构化、数据共享和数据独立性的数据库特征,并详细解释了如何进行数据查询,包括空值处理、列别名、去重查询以及条件过滤等操作。" 在数据库管理中,MySQL是一种广泛使用的开源关系型数据库管理系统,它支持SQL(结构化查询语言),用于存储、管理和检索数据。SQL是所有关系数据库的基础,它的核心是查询语句,主要分为四大类:DML(数据操纵语言)、DDL(数据定义语言)、DCL(数据控制语言)和DQL(数据查询语言)。本笔记主要关注DQL,即数据查询。 DQL的核心是SELECT语句,用于从表中选取所需的数据。例如,`SELECT * FROM table;`将返回表中的所有记录。但需要注意,使用`SELECT *`可能会导致效率降低,因为它需要检索所有的列,而指定具体列名则更高效。 在处理空值(NULL)时,MySQL提供了`IS NULL`和`IS NOT NULL`来判断字段是否为空。例如,`SELECT * FROM emp WHERE comm IS NULL;`将返回所有佣金为空的员工记录。为了处理空值,可以使用`IFNULL`函数,如`IFNULL(comm, 0)`将空值替换为目标值(这里是0)。 列别名可以使用AS关键字或直接用逗号分隔来设定,这有助于提高代码的可读性。例如,`SELECT empno, ename, sal, 13.2*sal '年薪' FROM emp;`。如果别名包含空格,可以用双引号括起来。 `DISTINCT`关键字用于去除查询结果中的重复行,如`SELECT DISTINCT deptno FROM emp;`将返回所有不同部门编号。 `DESCRIBE`命令用于查看表的结构,显示表的所有列及其相关信息,如`DESCRIBE emp;`。 在条件过滤中,`WHERE`子句用于指定查询条件。常见的比较运算符包括: - `BETWEEN AND`: 判断值是否在指定范围内,例如`WHERE sal BETWEEN 5000 AND 10000;` - `IN (集合列表)`: 判断值是否与列表中的任一值匹配,如`WHERE deptno IN (10, 20, 30);` - `LIKE`: 支持部分匹配,常用于模糊查询,如`WHERE ename LIKE 'J%';`将找到所有名字以J开头的员工。 - `IS NULL`: 判断值是否为空,如`WHERE mgr IS NULL;`会找到所有未指定上级的员工。 这些基本的查询技巧构成了SQL查询的基础,通过组合使用,可以实现复杂的数据筛选和分析。对于MySQL用户来说,掌握这些概念和操作是至关重要的。