MySQL 刪除表的幾種情況
阿新 • • 發佈:2018-11-19
MySQL 刪除表的幾種情況:
1、drop table table_name : 刪除表全部資料和表結構,立刻釋放磁碟空間,不管是 Innodb 和 MyISAM;
例項,刪除學生表:
drop table student;
2、truncate table table_name : 刪除表全部資料,保留表結構,立刻釋放磁碟空間 ,不管是 Innodb 和 MyISAM;
例項,刪除學生表:
truncate table student;
3、delete from table_name : 刪除表全部資料,表結構不變,對於 MyISAM 會立刻釋放磁碟空間,InnoDB 不會釋放磁碟空間;
例項,刪除學生表:
delete from student;
4、delete from table_name where xxx : 帶條件的刪除,表結構不變,不管是 innodb 還是 MyISAM 都不會釋放磁碟空間;
例項,刪除學生表中姓名為 "張三" 的資料:
delete from student where T_name = "張三";
5、delete 操作以後,使用 optimize table table_name 會立刻釋放磁碟空間,不管是 innodb 還是 myisam;
例項,刪除學生表中姓名為 "張三" 的資料:
delete from student where T_name = "張三";
例項,釋放學生表的表空間:
optimize table student;
6、delete from 表以後雖然未釋放磁碟空間,但是下次插入資料的時候,仍然可以使用這部分空間。