DML 数据操纵语言学习笔记
一、DML 核心概念体系
1.1 语言定位与边界
DML(Data Manipulation Language)作为 SQL 三大核心语言之一,专注于数据行级操作,区别于 DDL(结构定义)和 DCL(权限控制)。其核心指令包括:
- 增:
INSERT
- 删:
DELETE
- 改:
UPDATE
- 查:
SELECT
(部分教材归为 DQL)
1. 2INSERT 语句基本概念
INSERT 语句是 DML(数据操纵语言)中用于向数据库表中添加新数据的指令。它能将一行或多行数据插入指定表,有多种使用方式。
全字段插入
使用这种语法时,要确保提供的值的顺序和数量与表中字段的顺序和数量一致。
示例:
批量插入
该语法可以一次性插入多行数据,提高插入效率。
示例:
1.3DELETE 语句基本概念
DELETE 语句是 DML(数据操纵语言)里用于从数据库表中移除数据的指令。它能根据指定条件删除一行或多行数据,也可清空整个表的数据。
通过 WHERE
子句可以指定删除数据的条件,只有满足该条件的数据行才会被删除。
示例:假设存在一个名为 employees
的表,包含 id
、name
和 department
字段。要删除部门为 'HR' 的所有员工记录,可以使用以下语句:
若省略 WHERE
子句,会删除表中的所有数据,但表结构仍然保留。不过要注意,使用此语句时,数据库会逐行删除数据,并且会记录事务日志,所以在处理大量数据时效率可能较低。
注意要点
- 谨慎使用无 WHERE 条件的 DELETE:因为它会删除表中的所有数据,一旦执行,可能会造成数据的永久性丢失。
1.4UPDATE 语句
基础语法形式
SET
子句用于指定要更新的字段及其新值。WHERE
子句是可选的,如果省略,将更新表中的所有行。
示例
假设存在一个名为products
的表,包含id
、name
、price
和quantity
字段。
- 更新满足特定条件的行:将价格大于 100 的产品的价格降低 10%。
1.5SELECT 语句
SELECT
语句是用于从数据库表中查询数据的指令,它可以根据不同的条件筛选、排序和聚合数据,是数据库查询中最常用的语句。
基础语法形式
SELECT
子句用于指定要查询的列。FROM
子句指定要查询的表。WHERE
子句用于筛选满足特定条件的行。GROUP BY
子句用于对查询结果进行分组。HAVING
子句用于筛选分组后的结果。ORDER BY
子句用于对查询结果进行排序,ASC
表示升序,DESC
表示降序。
二DML 与其他语言对比
三总结
DML 是数据库操作的核心,掌握INSERT
、UPDATE
、DELETE
的灵活运用及事务管理,能有效提升数据处理效率与安全性。实际开发中需结合业务场景,合理设计 SQL 语句,避免性能瓶颈与数据风险