MySQL中drop、truncate和delete的区别?
发布日期:2021-05-06 23:58:23 浏览次数:6 分类:技术文章

本文共 333 字,大约阅读时间需要 1 分钟。

delete是DML语句,可以选择删除部分数据,也可以选择删除全部数据;删除的数据可以回滚;不会释放空间(相当于表的格子都在,物理内存没有释放,只是数据抹去)

drop是DDL语句,删除表结构和所有数据,同时删除表结构所依赖的约束、触发器和索引;删除的数据无法回滚;会释放空间
truncate是DDL语句,删除表的所有数据,不能删除表的部分数据,也不能删除表的结构;删除的数据无法回滚;会释放空间(相当于表的表头都在,下面的表格全部丢弃)
执行速度:一般来说:drop>truncate>delete
一般使用场景:如果一张表确定不再使用,我们使用drop来操作;如果只是删表中的全部数据,一般使用truncate;如果删除的是表中的部分数据,一般使用delete

上一篇:Mysql索引底层B+树的实现原理以及Innodb和Myisam引擎存储的区别
下一篇:Golang操作MySQL

发表评论

最新留言

第一次来,支持一个
[***.219.124.196]2025年03月17日 23时51分59秒