📜  如何截断数据库中的表 - SQL (1)

📅  最后修改于: 2023-12-03 15:09:08.766000             🧑  作者: Mango

如何截断数据库中的表 - SQL

在 SQL 语言中,截断表指的是删除表中所有的行,但是保留表结构和相关的约束条件。如果您需要清空表中所有的数据,可以使用 TRUNCATE TABLE 语句或者 DELETE FROM 语句。

TRUNCATE TABLE 语句

TRUNCATE TABLE 语句用于删除表中所有的行,但是保留表结构和相关的约束条件。使用 TRUNCATE TABLE 语句可以快速清空表中所有的数据,并且比使用 DELETE FROM 语句要高效。

语法:

TRUNCATE TABLE table_name;

其中,table_name 是要被截断的表的名称。

示例:

TRUNCATE TABLE users;
DELETE FROM 语句

DELETE FROM 语句用于删除表中指定的行。如果不指定 WHERE 子句,则会删除表中所有的数据。

语法:

DELETE FROM table_name [WHERE condition];

其中,table_name 是要被删除数据的表的名称,condition 是删除行的条件。如果不指定 condition,则会删除表中所有的数据。

示例:

DELETE FROM users WHERE age < 18;
注意事项
  • TRUNCATE TABLE 语句比 DELETE FROM 语句更高效,因为它不会记录删除的行,也不会触发相关的触发器。
  • TRUNCATE TABLE 语句只能删除整个表中的数据,无法删除部分数据或者指定条件的数据。
  • TRUNCATE TABLE 语句无法回滚。
  • TRUNCATE TABLE 语句需要 DROP 权限。