删除数据 delete、truncate 命令

2023-02-21 10:45:25 浏览数 (1)

  • 1. delete 命令
  • 2. truncate 命令
  • 3. delete、truncate 的区别
1. delete 命令

命令格式

代码语言:javascript复制
delete from 表名 [删除条件];

删除表中的所有数据

代码语言:javascript复制
delete from 表名;

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

代码语言:javascript复制
delete from 表名 删除条件;

使用示例

代码语言:javascript复制
-- 删除 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;
2. truncate 命令

命令格式

代码语言:javascript复制
truncate [table] 表名;

使用示例

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

代码语言:javascript复制
truncate user;

truncate table user;
3. delete、truncate 的区别

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

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

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

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

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

0 人点赞