跳至内容
数据操作(DML)

数据操作(DML)

DML(数据操作语言)针对表或视图中的记录进行操作。这篇讲插入、更新、删除数据,以及 DELETETRUNCATE 的区别。

DML 概览

语句作用
SELECT从表或视图中检索数据(见数据查询
INSERT将数据插入到表或视图中
UPDATE修改表或视图中的数据
DELETE从表或视图中删除数据

插入数据

INSERT INTO 表名
(
    字段1, 字段2, 字段3, ... 字段n
)
VALUES
(
    1, 2, 3, ... n
)

字段列表与值列表要一一对应;列数 n 最大可达 1024。

修改数据

USE 数据库
UPDATE 表名
SET 字段1 = 修改后的值,
    字段2 = 修改后的值
    ...
WHERE 条件

一次可以修改多列。务必带上 WHERE 条件,否则会更新表中所有行。

删除数据

删除满足条件的记录:

DELETE FROM 表名
WHERE 条件

删除表中所有记录(保留表结构):

DELETE FROM 表名

TRUNCATE 删除记录

TRUNCATE TABLE 表名

TRUNCATE TABLE 删除表中所有行,功能上与不带 WHERE 子句的 DELETE 相同(都删除全部行),但:

  • TRUNCATEDELETE 速度快
  • 使用的系统和事务日志资源少
区别要点:DELETE 逐行删除并记录日志、可带 WHERE、会触发触发器;TRUNCATE 整体释放数据页、几乎不记录行级日志、不能带 WHERE、会重置 IDENTITY 种子。
最后更新于