1. 程式人生 > >MySQL 刪除表的幾種情況

MySQL 刪除表的幾種情況

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 表以後雖然未釋放磁碟空間,但是下次插入資料的時候,仍然可以使用這部分空間。