数据库几种表删除方式

drop
语法:

drop table 表名称

删除内容和定义,删除的是整个表(结构和数据),将表所占用的空间全释放掉。无法回滚,所以删除是不能恢复的,如果再次使用的话需要新建表。

truncate

truncate table 表名称

只是清空表,删除内容,释放空间,但不删除定义(保留表的数据结构)。且不会把删除操作记录记入日志保存,无法回滚,所以删除是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。

delete

delete from 表名称 where 列名称 =

删除表中的行,不删除表的结构。执行删除的过程是每次从表中删除一行,并且将该行的删除操作作为事务在日志中保存,以便进行进行回滚操作。delete会根据指定的条件删除表中满足条件的数据,where就是条件判断。如果不指定where子句,那么删除表中所有记录。
delete操作不会减少表或索引所占用的空间。

对比:

  1. drop是DDL语句,删除表结构及所有数据,同时删除表的结构所依赖的约束,触发器,索引;
  2. truncate也是DDL语句,删除的是表中全部的数据,不能选择删除部分数据,不删除表结构;
  3. delete是DML语句,可以选择删除部分数据,也可以删除全部数据;
  4. drop,truncate和不带where子句的delete都会删除表内的数据;
  5. drop,truncate都是DDL语句,执行后会自动提交;
  6. 在执行速度上,drop > truncate > delete;
  7. 在使用drop和truncate时要格外谨慎,虽然可以恢复,但会比delete删除麻烦很多。
  • 4
    点赞
  • 17
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:技术黑板 设计师:CSDN官方博客 返回首页
评论

打赏作者

data大柳

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值