当前位置:   article > 正文

MySQL 删除数据 delete、truncate 命令_mysql truncate 和delete

mysql truncate 和delete

1. delete 命令

命令格式

delete from 表名 [删除条件];
  • 1

删除表中的所有数据

delete from 表名;
  • 1

删除表中符合匹配条件的数据

delete from 表名 删除条件;
  • 1

使用示例

-- 删除 user 表中的所有数据
delete from user;

-- 删除 user 表中 id 字段值为 1 的数据
delete from user where id = 1;

-- 删除 user 表 以 id 字段降序排列时的前 5 条数据
delete from user order by id desc limit 5;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
2. truncate 命令

命令格式

truncate [table] 表名;
  • 1

使用示例

删除 user 表中的所有数据,并且重置自动增长的值

truncate user;

truncate table user;
  • 1
  • 2
  • 3
3. delete、truncate 的区别

一、delete 删除数据的速度慢,truncate 删除数据的速度快

二、delete 支持事务,可以进行事务回滚;truncate 不支持事务,不能执行事务回滚

三、delete 支持带条件的删除,可以只删除某一条数据;truncate 则不行,只能用于删除表中的所有数据

四、delete 删除不会重置自动增长(auto_increment),truncate 则会重置自动增长的值,重新以 1 开始

五、delete 可以触发 触发器,truncate 则不行

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号