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 [table] 表名;
使用示例
刪除 user 表中的所有數據,並且重置自動增長的值
truncate user;
truncate table user;
3. delete、truncate 的區別
一、delete 刪除數據的速度慢,truncate 刪除數據的速度快
二、delete 支持事務,可以進行事務回滾;truncate 不支持事務,不能執行事務回滾
三、delete 支持帶條件的刪除,可以只刪除某一條數據;truncate 則不行,只能用於刪除表中的所有數據
四、delete 刪除不會重置自動增長(auto_increment),truncate 則會重置自動增長的值,重新以 1 開始
五、delete 可以觸發 觸發器
,truncate 則不行