1.複製表
當你需要建立一個恰好懷某個已有表結構一致的表時,可以使用
create table...like語句來複製表結構;使用insert into...select
語句複製部分或者全部表資料。
2.暫存資料表
需要一個建立僅供臨時使用,並且自動刪除的表?那麼用暫存資料表吧,
可以使用create temporary table..語句來建立一個暫存資料表,在和
mysql伺服器的串連關閉之後,建立的暫存資料表將被自動刪除。
普通的建表語句:
create temporary table tbl_name(...列定義...);
根據查詢結果建表:
create temporary table tbl_name select ...;
需要注意的是保證暫存資料表名在應用程式內部唯一。
暫存資料表具有的另外一個特性是,暫存資料表可以使用普通表的表名。
這樣做的結果是,在暫存資料表的生命週期內,它將與之同名的普通表,
利用這個特性,可以建立一個普通表的臨機操作備份,對暫存資料表可心做
任意操作,而不影響真實資料。
3.檢查或改變某個表的儲存引擎
mysql支援多種儲存引擎,每一種都有不同的特性。例如,InnoDB和BDB支援事務,
而MyISAM不支援(事務)。如果你需要確定一張表是否支援事務的話,就確定它所
使用的引擎。如果你需要在一個事務中使用改表,但是對應的引擎不支援,你可以將
改錶轉換到一個支援事務的引擎上。
你可以使用information_schema,或使用show table status,或使用show create
table語句,來確定一張表當前使用的引擎。如下:
(1)select engine from information_schema.tables
where table_schema = 'mail' and table_name = 'test'
(2)show table status like 'test';
(3)show create table 'test';
使用alter table以及一個engine子句,來改變一張表所用的引擎。例如:
alter table mail engine = InnoDB;
注意:改變一個很大的表所有的儲存引擎可能會耗費很長時間,並花費大量
cpu以及i/o資源。
...未完待續