MySQL---資料刪除方法delete、truncate、drop的區別
阿新 • • 發佈:2019-01-11
-
delete、truncate、drop的用法
- MySQL 資料表中delete刪除資料的通用語法:
刪除 students_tbl 表中 student_id 為3 的記錄:delete from students_tbl where student_id=3;
- MySQL 資料表中truncate刪除資料的通用語法:
刪除 students_tbl 表中的所有記錄:truncate table students_tbl
- MySQL 資料表中drop刪除資料的通用語法:
刪除名為 students 的資料庫:drop database students
-
delete、truncate、drop的區別
- truncate和 delete只刪除資料不刪除表的結構(定義) ,drop語句將刪除表的資料以及結構
- delete是DML語句,操作會被放到 rollback segment中,事務提交後才生效,以便進行進行回滾操作(可恢復)。
truncate、drop是DLL語句,操作立即生效,原資料不放到 rollback segment中,不能回滾(不可恢復)。
- delete操作之後表或索引所佔的空間不會減少,truncate操作之後表和索引所佔用的空間會恢復到初始大小,drop語句將表所佔用的空間全部釋放。
- 刪除速度: delete < truncate < drop ;