mysql清空表命令truncate和delete的区别

mysql中truncate和delete都能够清空表,但是两者之间又有所区别:

# truncate 语法格式
truncate table table_name
# delete 语法格式
delete from table_name

区别:

1.delete删除是一条条删除,truncate是整体删除,当数据量大时,truncate会更有优势

2.truncate会将自增id值重置为0,而delete仍然记录下一次自增id值(AUTO_INCREMENT)

3.truncate不会记录日志,而delete会记录日志,delete支持回滚

4.truncate会使表和索引所占空间恢复到初始大小,而delete不会减少表和索引所占空间

5. truncate不会激活触发器,但是delete可以

参考:

https://www.cnblogs.com/kunjian/p/12626232.html

https://www.cnblogs.com/tjudzj/p/10003908.html

Mysql清空表(truncate)与删除表中数据(delete)的区别 - 正冰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值