1、概述
drop、truncate、delete都可以刪除mysql中的數據,但它們的作用范圍和操作方式有很大的不同。
2、詳細區別
2.1、drop
特點:
1、速度快
2、會刪除表數據,還會刪除表結構,包括與該表相關的所有數據,索引,約束,觸發器等
3、永久刪除,不支持回滾,
語法示例:
DROP TABLE table_name;
2.2、truncate
特點:
1、速度較快
2、清空表中的所有數據,其他保留(比如:表的結構),自增計數器被重置(auto_increment置1)
3、不支持回滾
語法示例:
TRUNCATE TABLE table_name;
2.3、delete
1、速度慢
2、從表中刪除一行或多行數據,可以通過指定where,有條件刪除
delete記錄每一行的刪除操作,因此它比TRUNCATE慢,并且會產生更多的日志開銷。
3、支持回滾
語法示例:
-- 刪除表中所有數據
DELETE FROM table_name;-- 根據條件刪除數據
DELETE FROM table_name WHERE condition;
學習鏈接:https://github.com/0voice