SQL DELETE 和 TRUNCATE

在 SQL 中,`DELETE` 子句用于从数据库表中删除行。

示例

DELETE FROM Customers
WHERE customer_id = 4;

这里,SQL 命令将删除 `Customers` 表中 `customer_id` 为 **4** 的行。


DELETE 语法

SQL `DELETE` 命令的语法是

DELETE FROM table_name
[WHERE condition];

这里,

  • `table_name` 是要从中删除行的表的名称
  • `condition` 指定应删除哪些行
  • `[]` 表示 `WHERE` 子句是可选的。

删除表中的单行

我们可以使用 `DELETE` 命令删除表中的单行。例如,

DELETE FROM Customers
WHERE customer_id = 5;

这里,SQL 命令将删除 `Customers` 表中 `customer_id` 为 **5** 的行。

How to delete a row in SQL
示例:SQL DELETE 命令

删除表中的所有行

`WHERE` 子句确定要删除哪些行。但是,如果我们省略 `WHERE` 子句,我们可以一次删除所有行。例如,

DELETE FROM Customers;

这里,SQL 命令从 `Customers` 表中删除所有行。

注意:使用 `DELETE` 时要小心。如果数据库没有备份,记录可能会永久丢失。


SQL 中的 Truncate Table

`TRUNCATE TABLE` 子句是另一种一次删除表中所有行的方法。例如,

TRUNCATE TABLE Customers;

这里,SQL 命令从 `Customers` 表中删除所有行。

注意:由于此命令基于 SQLite,因此我们的 SQL 在线编辑器不支持此命令。


SQL DELETE 与 TRUNCATE

SQL DELETE SQL TRUNCATE
SQL `DELETE` 支持 `WHERE` 子句。 SQL `TRUNCATE` 不支持 `WHERE` 子句。
SQL `DELETE` 可以从表中删除单行、多行或所有行/记录。 SQL `TRUNCATE` 只能从表中删除所有记录。
你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战