資料庫23 事務

2021-10-04 03:47:15 字數 1424 閱讀 5273

事務主要用於處理操作量大、複雜度高、並且關聯性強的資料。

比如說, 在人員管理系統中, 你刪除乙個人員, 你即需要刪除人員的基本資料,

也要刪除和該人員相關的資訊, 如信箱, 文章等等, 這樣, 這些資料庫操作語句

就構成乙個事務!

在 mysql 中只有 innodb 儲存引擎支援事務。

事務處理可以用來維護資料庫的完整性, 保證成批的 sql 語句要麼全部執行,

要麼全部不執行。主要針對 insert, update, delete 語句而設定

###事務四大特性

在寫入或更新資料的過程中, 為保證事務 (transaction) 是正確可靠的, 所必

須具備的四個特性 (acid):

原子性 (atomicity) :

一致性 (consistency):

隔離性 (isolation):

資料庫允許多個併發事務同時對其資料進行讀寫和修改的能力, 隔離性可

以防止多個事務併發執行時由於交叉執行而導致資料的不一致。 事務隔

離分為不同級別, 包括:

永續性 (durability):

create

table

`abc`

( id int

unsigned

primary

keyauto_increment

, name varchar(32

)unique

, age int

unsigned

)charset

=utf8;

begin

;insert

into abc (name, age)

values

('aa',11

);insert

into abc (name, age)

values

('bb',22

);-- 在事務中檢視一下資料

-- 同時另開乙個視窗,連線到 mysql 檢視一下資料是否一樣

select

*from abc;

commit

;begin

;insert

into abc (name, age)

values

('cc',33

);insert

into abc (name, age)

values

('dd',44

);update abc set age=

77where name=

'aa'

;-- 在事務中檢視一下資料

select

*from abc;

rollback

;select

*from abc;

-- 事務結束後在檢視一下資料

15 23資料庫(23) MySQL事務

備註 所有查詢基於前面章節建立的校園資料庫 事務tranaction tx 開啟事務 begin 課程表插入 把妹 學科 insert into course name values 教師表插入一位把妹名師 insert into teacher name,gender,courseid value...

資料庫事務

事件是訪問並可能更新各種資料項的乙個程式執行單元。事件由事務開始與事務結束之間執行的全體操作組成。為了保證資料完整性,資料庫系統需要維護事務的以下性質 原子性 atomicity 事務中的操作要麼全部成功,要麼全部失敗。一致性 consistency 事務執行前後要保持資料庫的一致性。隔離性 iso...

資料庫 事務

資料庫事務 database transaction 是指作為單個邏輯工作單元執行的一系列操作。事務處理可以確保除非事務性單元內的所有操作都成功完成,否則不會永久更新面向資料的資源。通過將一組相關操作組合為乙個要麼全部成功要麼全部失敗的單元,可以簡化錯誤恢復並使應用程式更加可靠。乙個邏輯工作單元要成...