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