技术解析

MySQL中 delete和drop的区别
0
2020-05-13 15:47:40
taohocal

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命令会删除整个表,从而释放内存空间。


数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服