SQL DML删除数据

SQL 中使用 DELETE 语句删除数据:

DELETE FROM t
[WHERE conditions];

只有满足 WHERE 条件的数据才会被删除;如果省略 WHERE 条件,将会删除表中所有的数据。

以下语句将会删除员工表中的“张三”:

-- SELECT *
DELETE
  FROM employee
 WHERE emp_name = '张三';

Oracle 和 SQL Server 中可以省略 FROM 关键字。在删除数据之前,可以使用相应的 SELECT 语句查看要删除的数据。

在上一篇中,我们介绍了 TRUNCATE 语句;它可以用于快速删除表中的所有数据。这两种删除数据的方式存在一些区别:

  • DELETE 语句通过 WHERE 条件从表中删除指定的数据;如果不指定条件将会删除所有的数据。DELETE 属于数据操作语言(DML),删除数据后,可以选择提交或者回滚。如果删除的数据较多时速度比较慢。
  • TRUNCATE 语句用于快速删除表中的所有数据,并且释放表的存储空间。TRUNCATE 属于数据定义语言(DDL),操作默认提交无法回滚。TRUNCATE 相当于删除表并重建,通常执行速度很快。

另外,DROP TABLE 语句用于删除一个表,包括表中的数据。

赞(1)
未经允许不得转载:极客笔记 » SQL DML删除数据
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址