📅  最后修改于: 2023-12-03 15:14:39.975000             🧑  作者: Mango
DELETE 是用于从关系数据库中删除一个或多个行的 SQL 命令。
DELETE FROM table_name WHERE condition;
table_name
:需要删除数据的表的名称。condition
:可以使用条件来指定要删除的行。DELETE 语句仅删除表中的数据,而不删除表本身。删除的行可以使用ROLLBACK语句恢复。
DROP 用于删除数据库中的对象(如表、索引、列、约束等)。DROP 操作会立即从数据库中删除对象,因此在执行 DROP 操作之前请谨慎检查。一旦删除,对象中的数据将无法恢复,并且DROP 操作无法回滚。
DROP object_type object_name;
object_type
:需要删除的对象类型(如 TABLE、VIEW、INDEX 等)。object_name
:需要删除的对象名称。TRUNCATE 用于删除库中的表。TRUNCATE 操作删除表中的所有数据,而表本身的结构、关系不会受到影响。
TRUNCATE table_name;
table_name
:需要清空的表名称。TRUNCATE 操作无法恢复,并且不能将删除的数据回滚到数据中。
DELETE 操作会记录日志,并且会逐行删除数据,所以它会消耗更多的资源。相比之下,TRUNCATE 的处理速度更快,因为它只是清空表中的数据,而不是逐行删除。
DROP 删除的是对象,而非数据,所以 DROP 不会记录日志。
综上,DELETE、DROP 和 TRUNCATE 的区别如下: