在mysql中,可以利用「alter table」語句和「type」關鍵字來修改表格的類型,「alter table」語句用來改變原有表格的結構,語法格式為「alter table 表名type = 指定類型名稱;”。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
最近遇到一個修改 MySQL 表類型的問題,以前在 phpmyadmin 管理 mysql 資料庫時,建立的表預設是 MyISAM 類型,而且修改表類型也比較方便。奈何現在配置 phpmyadmin 出了問題,也懶得去弄了,就裝了另一個 mysql 的管理工具,比較方便。可是我新建的表預設確是 InnoDB 類型的,而且以前我遷移時,這個類型容易出問題,雖然說不出哪個類型好,但感覺更喜歡 MyISAM ,就嘗試把它轉為 MyISAM類型了。這個工具找了半天沒找怎麼修改,問了水神同學也不知道。還好,在網路上找了 sql 指令修改句子,看來還是 sql 語句強大啊。
修改mysql 表類型的sql 語句:
alter table 表名 type = MyISAM; alter table 表名 type = InnoDB;
附mysql 表類型說明
MyISAM:這個是預設類型,它是基於傳統的ISAM類型,ISAM是Indexed Sequential Access Method (有索引的順序存取方法) 的縮寫,它是儲存記錄和檔案的標準方法。與其他儲存引擎比較,MyISAM具有檢查和修復表格的大多數工具。 MyISAM表格可以被壓縮,而且它們支援全文搜尋。它們不是事務安全的,而且也不支援外鍵。如果事物回滾將造成不完全回滾,不具有原子性。如果執行大量 的SELECT,MyISAM是更好的選擇。
InnoDB:這種類型是交易安全的。它與BDB類型具有相同的特性,它們也支援外鍵。 InnoDB表格速度很快,具有比BDB還豐富的特性,因此如果需要一個事務安全的儲存引擎,建議使用它。如果你的資料執行大量的INSERT或UPDATE,出於效能方面的考慮,應該使用InnoDB表。
對於支援事物的InnoDB類型的標,影響速度的主要原因是AUTOCOMMI,預設設定是開啟的,而且程式沒有明確調用BEGIN 開始事務,導致每插入一條都自動Commit,嚴重影響了速度。可以在執行sql前呼叫begin,多條sql形成一個事物(即使autocommit打 開也可以),將大大提高效能。
mysql 支援的類型(引擎):MyISAM、InnoDB、BDB、MEMORY、MERGE、EXAMPLE、NDBCluster、ARCHIVE、CSV、BLACKHOLE、FEDERATED等,其中InnoDB和BDB提供事務安全表,其他儲存引擎都是非事務安全表。
【相關推薦:mysql影片教學】
以上是mysql怎麼修改表格的類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!