1. 程式人生 > >撩課-Mysql第15部分事務基本使用

撩課-Mysql第15部分事務基本使用

學習地址:
撩課-JavaWeb系列1之基礎語法-前端基礎
撩課-JavaWeb系列2之XML
撩課-JavaWeb系列3之MySQL
撩課-JavaWeb系列4之JDBC
撩課-JavaWeb系列5之web伺服器-idea

什麼是事務

不可分割的操作,
假設該操作有ABCD四個步驟組成.
若ABCD四個步驟都成功完成,
則認為事務成功.
若ABCD中任意一個步驟操作失敗,
則認為事務失敗
每條sql語句都是一個事務
事務只對DML語句有效,對於DQL無效

事務的ACID

1.原子性(Atomicity)

原子性是指事務包含的
所有操作要麼全部成功,
要麼全部失敗回滾

2.一致性(Consistency)

一致性是指事務必須使資料庫
從一個一致性狀態變換到另一個一致性狀態,
也就是說一個事務執行之前
和執行之後都必須處於一致性狀態。
讓資料保持一定上的合理
一個商品出庫時,
倉庫商品數量減1,
對應使用者的購物車中商品加1

3.隔離性(Isolation)

隔離性是當多個使用者併發訪問資料庫時,
比如操作同一張表時,
資料庫為每一個使用者開啟的事務,
不能被其他事務的操作所幹擾,
多個併發事務之間要相互隔離。

4.永續性(Durability)

永續性是指一個事務一旦被提交了,
就不能再回滾了,
已經把資料儲存到資料庫當中了。

###事務的使用
開啟事務
start transaction

提交事務
commit

所有語句全部執行完畢,
沒有發生異常,提交事務,
更新到資料庫當中。

回滾事務
rollback

當遇到一突發情況,
撤銷執行的sql語句

###執行流程