2020-05-11:关于delete,drop,truncate的区别

drop:是把整个表删除了,通俗理解就是这个表没有了
delete:是删除表中的数据,但是表还在,只是把内容删除了
truncate:也是把表中的数据删除了,但是表还是存在
delete和truncate的区别在于:
1.delete多少条数据就得执行多少次,先比较truncate一次执行效率比较低
2.delete没有释放表空间,truncate则释放了表空间,这个比如你用delete表id为1,2,3
的数据删除了,重新插入数据id不是1,2,3,因为1,2,3用delete删除后空间没有释放。而使用truncate进行删除数据,重新插入数据id可以为1,2,3,因为truncate释放出了1,2,3的空间。
3.truncate是对整个表的操作,没有搭配where使用,而delete可以搭配where进行选择性删除。
truncate与drop是DDL语句,执行后无法回滚;delete是DML语句,可回滚。
以上内容只是一个简单的介绍,下面的文章有比较详细的介绍建议看看
详细请参考:https://www.cnblogs.com/accumulater/p/6077558.html

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容