drop和delete的区别

文/笠蓑湿

delete和drop的区别是:drop主要用于删除结构,delete主要用于删除数据。如果我们要删除数据库或数据表,都会使用drop来删除,如【drop database XX】。

DELETE和DROP的主要区别

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

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

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

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

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

delete

出没场合:delete table tb --虽然也是删除整个表的数据,但是过程是痛苦的(系统一行一行地删,效率较truncate低)

delete table tb where 条件

绝招:删除内容不删除定义,不释放空间。三兄弟之中最容易欺负的一个

然后关于delete的就不详细说明了,大家都懂的

关于truncate的小小总结:

truncate table 在功能上与不带 WHERE 子句的 delete语句相同:二者均删除表中的全部行。

但 truncate 比 delete速度快,且使用的系统和事务日志资源少。

delete 语句每次删除一行,并在事务日志中为所删除的每行记录一项。所以可以对delete操作进行roll back

1、truncate 在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而 truncate 则不会被撤销。

2、truncate 是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对 truncate 使用ROLLBACK命令。

3、truncate 将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过 truncate 操作后的表比Delete操作后的表要快得多。

4、truncate 不能触发任何Delete触发器。

5、当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。

6、不能清空父表

小编推荐

1.drop和delete的区别

2.高中生是走单招还是走专科 有什么区别吗

3.艺术生校考和联考的区别 有什么区别

4.高考考士官学校怎么样?士官学校和军校的区别是啥?2023参考

5.中专统招和单招有什么区别 选择哪个更好

6.ddl和dml的区别

7.share with和share to的区别

8.c语言中=与==的区别

一键复制全文保存为WORD

猜你喜欢

drop和delete的区别

22-12-16

2023义务兵考士官成功率高吗 成为士官的方式有什么

22-12-16

大学生入伍最佳时间是什么时候 有哪些优势

22-12-16

为什么定向士官是个坑 发展前景如何

22-12-15

义务兵考士官成功率大吗 有什么影响因素

22-12-15

士官学校每天都干什么 毕业后的工作去向是哪

22-12-15

考上士官学校三年有工资吗 有什么好处

22-12-15

2022下半年教资面试考试注意事项

22-12-15