您的当前位置:首页正文

SQL中DELETE和DROP的简单比较

2020-11-09 来源:易榕旅网
在SQL命令中DELETE和DROP都是可以用于删除数据库的元素,那么它们之间有什么区别?下面本篇文章就给大家简单比较一下DELETE和DROP,介绍DELETE和DROP的区别,希望对大家有所帮助。

DELETE命令的简单介绍

DELETE是一种数据操作语言(DDL)命令,可以使用DELETE命令来从表中删除部分或全部记录。可以和WHERE子句一起使用,用于删除满足添加的某些记录;如果未指定WHERE条件,则将删除所有记录。【相关视频教程推荐:MySQL教程】

注:使用DELETE命令无法删除整个表或域、约束。

DELETE命令的语法如下:

DELETE FROM relation_name where条件;

如果使用外键链接两个表并从引用的表中删除元组,则还将自动删除引用表中的数据以保持引用完整性。

DROP命令的简单介绍

DROP是一种数据定义语言(DDL)命令,可以从数据库中删除一个或多个表,它将删除表的所有相关数据,索引,触发器,约束和权限规范

DROP命令的语法如下:

DROP SCHEMA schema_name RESTRICT;
DROP Table table_name CASCADE;

DROP命令有两个名为CASCADE和RESTRICT的行为选项。当CASCADE用于DROP模式时,它会删除所有相关元素,如模式,域和约束中的所有表。

当我们使用CASCADE从架构中删除表时,它会删除所有约束,视图以及引用正在删除的关系的元素。

注:无法删除任何外键约束引用的表。

DELETE和DROP的主要区别

1、DELETE是一个数据操作语言命令,而DROP是一个数据定义语言命令。

2、DELETE命令用于从表中删除部分或全部元组。而,DROP命令用于从数据库中删除一个或多个表,可以删除表的所有相关数据,索引,触发器,约束和权限规范。

3、DELETE可以与WHERE子句一起使用,但DROP不能与任何命令一起使用。

4、可以使用DELETE命令执行回滚操作,因为它使用缓冲区;但在使用DROP命令的情况下无法操作回滚,因为它直接处理实际数据。

5、由于DELETE命令不删除表,因此不会释放任何空间;而drop命令会删除整个表,从而释放内存空间。

显示全文