数据库删除表操作中delete和truncate的区别

语法

数据库操作中通过delete关键词和truncate关键词都可以达到删除表(删库跑路)的作用,首先来看看他们的用法:

DELETE FROM `test`
TRUNCATE TABLE `test`

区别

它们的区别在于:

  • truncate删除表的同时会清空并重新设置自增列,而delete则不会
  • truncate不会影响事务

对不同引擎的现象

对于mysql数据库,较早的版本默认使用的是MyISAM引擎,后面的版本则使用了InnoDB引擎。
如果使用delete删除,在重启数据库的使用根据引擎的区别会有以下现象:

  • MyISAM 从上一个自增量开始,这是因为数据存在于文件夹当中。
  • InnoDB 自增列从1开始,这是因为数据存在内存当中。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值