mysql数据库中delete/truncate/drop的区别
1.delete
只删除数据 -> 不能去掉自增主键 -> 且可以回滚 -> 但是必须和事务相关(即要想回滚数据必须开启事务) 不会减少表和索引所占用的空间大小
eg:事务
select * from ordertotals;
start transaction;
delete from ordertotals;
select * from ordertotals;
rollback;
select * from ordertotals;
delete 操作之索引可以回滚是因为它会将操作作为事务案子日志中保存,以便回滚
2.truncate 删除数据 -> 可以删除自增主键 -> 删除的数据不能回滚 -> 表和索引所占用的空间会恢复到初始大小
3.drop 删除数据和表的结构 不能回滚 删除表所占的全部空间
4.参考原文 https://www.cnblogs.com/zhizhao/p/7825469.html

本文主要介绍了MySQL数据库中delete、truncate和drop的区别。delete只删除数据,不删除自增主键,可回滚,不减少表和索引空间;truncate删除数据,可删自增主键,不可回滚,表和索引空间恢复初始大小;drop删除数据和表结构,不可回滚,释放表全部空间。
466

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



