SQL 中 DROP 和 TRUNCATE 的区别

SQL 中 DROP 和 TRUNCATE 的区别

1. DROP语句

DROP 是一个 DDL(数据定义语言)命令,用于删除该表的表定义和索引、数据、约束、触发器等。性能方面,DROP 命令执行速度很快,但比 TRUNCATE 慢,因为它会引起并发症。与 DELETE 不同,我们无法在使用 DROP 命令后回滚数据。在 DROP 命令中,表空间会从内存中释放出来,因为它会永久删除表及其所有内容。

DROP 命令的语法 –

DROP TABLE table_name;
Java

2. TRUNCATE语句

TRUNCATE 是一个 DDL(数据定义语言)命令。它用于从表中删除所有元组。与 DROP 命令一样,TRUNCATE 命令也不包含 WHERE 子句。TRUNCATE 命令比 DROP 和 DELETE 命令都快。与 DROP 命令一样,使用 this 命令后我们也无法回滚数据。

TRUNCATE 命令的语法 –

TRUNCATE TABLE table_name;
Java

下面来看看 SQL 中 DROP 和 TRUNCATE 命令的区别:-

编号 DROP TRUNCATE
1 DROP 命令用于删除表定义及其内容。 TRUNCATE 命令用于从表中删除所有行。
2 在 DROP 命令中,表空间从内存中释放。 TRUNCATE 命令不会从内存中释放表空间。
3 DROP 是一个 DDL(数据定义语言)命令。 TRUNCATE 也是一个 DDL(数据定义语言)命令。
4 在DROP命令中,表视图不存在。 TRUNCATE存在表视图。
5 在 DROP 命令中,完整性约束将被删除。 TRUNCATE不会删除完整性约束。
6 在DROP命令中,没有使用undo空间。 TRUNCATE使用了撤消空间,但小于 DELETE。
7 DROP 命令执行速度快,但会带来复杂性。 TRUNCATE命令比 DROP 快。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册