<MySQL>MySQL删除数据表的三种方式详解

用法:

1、当不再使用该表时,使用drop

2、当仍要保留该表,但是要删除所有记录时,用truncate

3、当要删除部分记录或者担心可能需要回滚,使用delete


删除程度从强到弱排序如下:

1、drop table tb;

drop是直接将表格删除,无法找回。

例如删除user表:

drop table user;

2、truncate table tb;

truncate是删除表中的所有数据,不能与where一起使用

例如删除user表中所有数据:

truncate table user;

3、delete from tb (where)

delete也是删除表中数据,可以与where连用,删除指定数据

删除user表中所有数据:

delete from user;

删除user表中id为2的数据:

delete from user where id=2;

truncate和delete的区别:

1、事务

truncate删除后不记录mysql日志,因此不可以rollback回滚操作,也不可以恢复数据;

delete可以rollback回滚数据

原因:

truncate相当于保留原mysql表的结构,重新创建了这个表,所有状态都是新的;
delete的效果相当于是一行一行的删除,因此可以rollback

2、效果

效率上truncatedelete快,而且truncate删除后将重建索引(新插入数据的id从0开始),而delete不会删除索引(新插入的数据的id将在删除数据的索引后继续添加)

3、truncate不会触发任何delete触发器
4、返回值

delete操作后返回删除的记录数

truncate返回的是0或者-1(删除数据成功则返回0,失败则返回-1)

转载自:Mysql 删除数据表的三种方式详解

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值