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 语句用于删除一个表,包括表中的数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程