在 MySQL 中,使用 truncate、delete 和 drop 都可以实现表删除,但它们 3 个的使用场景和执行效果完全不同,接下来我们来盘点一下。
truncate、delete、drop区别概述
它们 3 个的区别如下表所示:
| 区别点 |
drop |
truncate |
delete |
| 执行速度 |
快 |
较快 |
慢 |
| 命令分类 |
DDL(数据定义语言) |
DDL(数据定义语言) |
DML(数据操作语言) |
| 删除对象 |
删除整张表和表结构,以及表的索引、约束和触发器。 |
只删除表数据,表的结构、索引、约束等会被保留。 |
只删除表的全部或部分数据,表结构、索引、约束等会被保留。 |
| 删除条件(where) |
不能用 |
不能用 |
可使用 |
| 回滚 |
不可回滚 |
不可回滚 |
可回滚 |
| 自增初始值 |

本文详细解析了MySQL中truncate、delete和drop三种删除操作的区别,包括删除对象、删除条件、命令分类、回滚支持、自增初始化及执行速度等方面,强调了它们在实际使用中的不同场景和注意事项。
最低0.47元/天 解锁文章
419

被折叠的 条评论
为什么被折叠?



