MySQL删除操作(delete、truncate和drop区别说明)
一、delete
delete主要用于删除数据,即将表中所有数据都删除了,但该表依然存在。
1 | 两种方式使用delete: |
二、truncate
truncate主要用于删除数据,但保留表结构,且数据不可恢复,该命令也不能添加查询条件。truncate的删除原理是重新创建一个表(不包含数据),然后将原来的表删除。
1 | 格式: |
1 | truncate在功能上与不带 where 子句的delete语句相同:二者均删除表中的全部行。但 truncate比 delete速度快,且使用的系统和事务日志资源少。delete语句每次删除一行,并在事务日志中为所删除的每行记录一项。truncate通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。 |
三、drop
drop主要用于删除结构,即删除的时候不仅删除了表中的数据,还删除了表结构。如果我们要删除数据库或数据表,一般都会使用drop来删除。(使用drop删除表后,数据库中查询不到该表)
1 | 格式: |
四、总结
- 当你不再需要该表时,用 drop;
- 当你仍要保留该表,但要删除所有记录时, 用 truncate;
- 当你要删除部分记录时,用delete。
————————————————
引用:https://blog.csdn.net/weixin_45639224/article/details