一般來講,MySQL事務主要用于處理操作量大,復雜度高的數據。本文將為大家梳理一下事務的相關學習筆記,內容包括了事務的應用場景說明,手動提交事務和自動提交事務。感興趣的小伙伴,趕緊一起來看看MySQL學習筆記中關于事務的知識點梳理吧!
1、事務的應用場景說明
(1)事務的定義
在實際的開發過程中,一個業務操作如:轉賬,往往是要多次訪問數據庫才能完成的。轉 賬是一個用戶扣錢,另一個用戶加錢。如果其中有一條 SQL 語句出現異常,這條 SQL 就可能執行失敗。事務執行是一個整體,所有的 SQL 語句都必須執行成功。如果其中有 1 條 SQL 語句出現異常,則所有的 SQL 語句都要回滾,整個業務執行失敗。
(2)轉賬的操作
模擬張三給李四轉 500 元錢,一個轉賬的業務操作最少要執行下面的 2 條語句:
張三賬號-500
李四賬號+500
假設當張三賬號上-500 元,服務器崩潰了。李四的賬號并沒有+500 元,數據就出現問題了。我們需要保證其中 一條 SQL 語句出現問題,整個轉賬就算失敗。只有兩條 SQL 都成功了轉賬才算成功。這個時候就需要用到事務。
2、手動提交事務
MYSQL 中可以有兩種方式進行事務的操作:
手動提交事務
手動提交事務的SQL語句
開啟事務:start transaction;
提交事務:commit;
回滾事務:rollback;
自動提交事務
手動提交事務使用過程:
成功的情況: 開啟事務 ? 執行多條 SQL 語句 ? 成功提交事務
執行失敗的情況: 開啟事務 ? 執行多條 SQL 語句 ? 事務的回滾
案例演示1:事務提交 模擬張三給李四轉 500 元錢(成功) 目前數據庫數據如下:
(1)使用 DOS 控制臺進入 MySQL
(2)執行以下 SQL 語句: 1.開啟事務, 2.張三賬號-500, 3.李四賬號+500
(3)使用 SQLYog 查看數據庫:發現數據并沒有改變
(4)在控制臺執行 commit 提交事務:
(5)使用 SQLYog 查看數據庫:發現數據改變
3、自動提交事務
MySQL 默認每一條 DML(增刪改)語句都是一個單獨的事務,每條語句都會自動開啟一個事務,語句執行完畢 自動提交事務,MySQL 默認開始自動提交事務
(1)演示:自動提交事務
將金額重置為 1000
更新其中某一個賬戶
使用 SQLYog 查看數據庫:發現數據已經改變
(2)取消自動提交
查看 MySQL 是否開啟自動提交事務
取消自動提交事務
執行更新語句,使用 SQLYog 查看數據庫,發現數據并沒有改變
在控制臺執行 commit 提交任務
以上就是MySQL學習梳理筆記之事務講解的全部內容了,大家都理解了嗎?如果對這部分知識點,還有疑問的朋友,可以上億速云官網進行相關在線課程的學習。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。