SQL學習筆記——事務(基本概念,基礎語句,四個特性)

1、事務就是需要在同一個處理單元中執行的一系列更新處理的集合,一個事務中包含多少個更新處理或者包含哪些處理,在DBMS 中並沒有固定的標準,而是根據用戶的要求決定的。

  • begin/start transaction:創建事務。
  • commit:提交處理。提交事務包含的全部更新處理的結束指令,一旦提交,就無法恢復到事務開始前的狀態了。
  • rollback:取消處理。一旦回滾,數據庫就會恢復到事務開始之前的狀態。
--例子1,創建事務和提交處理
start transaction;

update product
set sale_price = sale_price - 1000
where product_name = '運動T恤';
-- 將運動T恤的sale_price降低1000日元

update product
set sale_price = sale_price + 1000
where product_name = 'T恤衫';
-- 將T恤衫的sale_price上浮1000日元

commit;

--例子2:創建事務和回滾取消處理
start transaction;

update product
set sale_price = sale_price - 1000
where product_name = '運動T恤';
-- 將運動T恤的sale_price降低1000日元

update product
set sale_price = sale_price + 1000
where product_name = 'T恤衫';
-- 將T恤衫的sale_price上浮1000日元
rollback;

2、事務的ACID特性:

  • 原子性(Atomicity):原子性是指在事務結束時,其中所包含的更新處理要麼全部執行,要麼完全不執行。
  • 一致性(Consistency):一致性指的是事務中包含的處理要滿足數據庫提前設置的約束,也就是事務將數據庫從一種狀態轉變爲下一種一致的狀態。在事務的前後,數據庫的完整性約束沒有被破壞。同時。保證在一個事務中的多次操作的數據中間狀態對其他事務不可見的。
  • 隔離性(Isolation):隔離性指的是保證不同事務之間互不干擾的特性。該特性保證了事務之間不會互相嵌套。此外,在某個事務中進行的更改,在該事務結束之前,對其他事務而言是不可見的。
  • 持久性(Durability):事務一旦提交,那麼就是永久性的,不會因爲宕機等故障導致數據丟失。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章