CREATE TABLE `wkj_Score` (
`Id` int(10) NOT NULL AUTO_INCREMENT COMMENT '編號(hào)',
`Stu_id` int(10) NOT NULL COMMENT '學(xué)號(hào)',
`C_id` int(10) NOT NULL COMMENT '課程id',
`Grade` int(10) DEFAULT NULL COMMENT '分?jǐn)?shù)',
PRIMARY KEY (`Id`),
UNIQUE KEY `XXSSXX` (`C_id`,`Id`)
) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
// ENGINE=InnoDB 創(chuàng)建表格的時(shí)候指定
1饼齿、drop table table_name 立刻釋放磁盤空間 饲漾,不管是 InnoDB和MyISAM
2蝙搔、truncate table table_name 立刻釋放磁盤空間 ,不管是 Innodb和MyISAM 考传。
truncate table其實(shí)有點(diǎn)類似于drop table 然后create吃型。只不過這個(gè)create table 的過程做了優(yōu)化,比如表結(jié)構(gòu)文件之前已經(jīng)有了等等僚楞,就不需要重新再搞一把勤晚。所以速度上應(yīng)該是接近drop table的速度。
3泉褐、對(duì)于delete from table_name 刪除表的全部數(shù)據(jù)
對(duì)于MyISAM 會(huì)立刻釋放磁盤空間 (應(yīng)該是做了特別處理赐写,也比較合理); InnoDB 不會(huì)釋放磁盤空間
4膜赃、對(duì)于delete from table_name where xxx帶條件的刪除不管是innodb還是MyISAM都不會(huì)釋放磁盤空間挺邀。
5、delete操作以后 使用optimize table table_name 會(huì)立刻釋放磁盤空間。不管是InnoDB還是MyISAM 端铛。
所以要想達(dá)到清理數(shù)據(jù)的目的泣矛,請(qǐng)delete以后執(zhí)行optimize table 操作。
6禾蚕、delete from表 以后雖然未釋放磁盤空間您朽,但是下次插入數(shù)據(jù)的時(shí)候,仍然可以使用這部分空間
注:每個(gè)表一般都有唯一的主鍵且自增换淆,delete后不能繼續(xù)使用刪除前的數(shù)字哗总,這個(gè)時(shí)候可以用alter table table_name auto_increment=刪除前的數(shù)字
,含義:從XX開始自增