MySQL基礎教程---Chapter13 熟練使用事務

underpressure發表於2020-10-24

以下為個人作為初學者的自己看書總結,訪客看到有不足或差錯之處,歡迎交流指正。

day10 2020/10/24

13.1 儲存引擎

13.1.1 什麼是儲存引擎

儲存引擎 (storage engine) :即 “ 後臺 ”部分

MySQL功能大致分為倆種:

  1. 資料庫處理 “前臺” 部分:連線客戶端和提前檢查 SQL 語句功能
  2. “後臺” 部分:根據前臺部分的指示,完成查詢和檔案操作等工作功能
13.1.2 儲存引擎種類
  • MyISAM 早期版本預設儲存引擎,但不支援事務
  • InnoDB MySQL 5.5 以上版本,唯一一個支援事務的儲存引擎
  • 其他

13.2 設定儲存引擎

13.1.1 確認儲存引擎
SHOW CREATE TABLE 表名;

\G 列縱向顯示,有時更直觀清晰
13.1.2 修改儲存引擎
ALTER TABLE 表名 ENGINE=新的儲存引擎名;

13.3 事務

  • 事務 (transaction) 多個操作作為單個邏輯工作單元處理的功能。
  • 提交 (commit) 開啟事務後,把處理結果反映到資料庫中的操作。也就是,先開啟事務,然後對資料庫進行一系列增刪改查操作,從而達到自己需要的操作。
  • 回滾 (rollback) 不把剛剛的操作反映到資料庫中,而是恢復為原來的操作狀態。也就是撤回操作。

13.4 使用事務

  • DROP 等命令是無法執行回滾操作的(無法復原)
  • 使用事務前要檢視確認該表是否支援事務功能,通過 “SHOW CREATE TABLE 表名; ” 檢視
13.4.1 開啟事務
START TRANSANCTION;
13.4.2 回滾 ( 復原 )
ROLLBACK;
13.4.3 提交 ( 反映 )
COMMIT;

13.5 自動提交功能

13.5.1 關閉自動提交功能
SET AUTOCOMMIT=0;

注意:關閉自動提交只要不 COMMIT, 是可以隨時執行回滾 ROLLBACK; 的。
但注意,如果忘了 COMMIT 而直接退出 MySQL, 則對資料庫操作的內容不會被儲存。
13.5.2 確認、開啟自動提交功能
確認是否開啟自動提交功能:SELECT @@AUTOCOMMIT;

開啟自動提交功能: SET AUTOCOMMIT=1;


注意:以下操作不可以回滾
DROP DATABASE;
DROP TABLE;
DROP VIEW;
ALTER TABLE;

接下來一系列會每天記錄《MySQL基礎教程》的學習總結。挑戰半個月看書,動手,寫部落格

相關文章