Truncate table,Delete table,与Drop table的区别

本文通过生动的比喻解释了数据库操作中Delete、Truncate和Drop的区别。Delete用于逐条删除记录并可回滚;Truncate清空数据不可恢复且不触发删除触发器;Drop则完全删除表及数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前几天在群中见到有人问drop table和truncate table之间有什么区别,三思是这样回答的:就像吃鸡和吃鸡蛋的区别一样~

鸡蛋吃掉了没关系,只要鸡还在,蛋就还有再下的可能,不过如果鸡被吃掉了,那就连鸡带蛋都没啦~~

对应到drop table和truncate table也是这样理解。

truncate table就像是吃蛋,数据是没了,但表还在,只要你愿意,还可以再往里填数据。

drop table就像吃鸡,不仅数据没了,连表都没了。

 

 

 

truncate做的修改是不能回滚的,就是不可恢复的操作。用了这个命令后就收回了表空间。delete删除是要把数据写入系统回滚段中以便恢复时使用。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

网站地址:

http://space.itpub.net/7607759/viewspace-524741

 

 

http://gaijing814.iteye.com/blog/403243

 

 

 

http://www.blogjava.net/parable-myth/archive/2008/09/04/226979.html

 

 

******************************************************下面加一点总结

 

delete还会触发delete触发器,当然如果有的话。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值