删除数据 delete、truncate 命令

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

1. delete 命令


命令格式

delete from 表名 [删除条件];

删除表中的所有数据

delete from 表名;

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

delete from 表名 删除条件;

使用示例

-- 删除 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 命令


命令格式

truncate 
表名;

使用示例

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

truncate user;

truncate table user;

3. delete、truncate 的区别


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

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

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

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

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

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注