事務的概念和MySQL事務支援

2021-06-18 16:45:14 字數 886 閱讀 3092

事務是由一步或幾步資料庫操作序列組成邏輯執行單元,這系列操作要麼全部執行,要麼全部放棄執行。程式和事務是兩個不同的概念。一般而言:一段程式中可能包含多個事務。

事務具有四個特性:原子性(atomicity)、一致性(consistency)、隔離性(isolation)和持續性(durability)。這四個特性也簡稱acid性。

(1)原子性:事務是應用中最小的執行單位,就如原子是自然界最小顆粒,具有不可再分的特徵一樣。事務是應用中不可再分的最小邏輯執行體。

(2)一致性:事務執行的結果,必須使資料庫從乙個一致性狀態,變到另乙個一致性狀態。當資料庫中只包含事務成功提交的結果時,資料庫處於一致性狀態。一致性是通過原子性來保證的。

(3)隔離性:各個事務的執行互不干擾,任意乙個事務的內部操作對其他併發的事務,都是隔離的。也就是說:併發執行的事務之間不能看到對方的中間狀態,併發執行的事務之間不能相互影響。

(4)持續性:持續性也稱為永續性,指事務一旦提交,對資料所做的任何改變,都要記錄到永久儲存器中,通常是儲存進物理資料庫。

資料庫的事務有下列語句組成:

一組dml(data manipulate language,即資料操作語言)經過這組dml修改後資料將保持較好的一致性。

乙個ddl(data definition language,即資料定義語言)語句。

乙個dcl(data control language,即資料控制語言)語句。

ddl和dcl語句最多只能有乙個,因為ddl和dcl語句都會導致事務立即提交。

當事務所包含的全部資料庫操作都成功執行後,應該提交(commit)事務,使這些修改永久生效。

事務提交有兩種方式:顯式提交和自動提交。

(1)顯式提交:使用commit。

(2)自動提交:執行ddl或dcl,或者程式正常退出。

事務的概念和MySQL事務支援

事務是由一步或幾步資料庫操作序列組成邏輯執行單元,這系列操作要麼全部執行,要麼全部放棄執行。程式和事務是兩個不同的概念。一般而言 一段程式中可能包含多個事務。事務具有四個特性 原子性 atomicity 一致性 consistency 隔離性 isolation 和持續性 durability 這四...

MySQL 事務概念 ACID

事務是用來保證業務操作的完整性 整個業務要麼全部成功,要麼全部失敗,不允許部分成功,部分失敗 a 原子性 c 一致性 i 隔離性 d 永續性 讀未提交 read uncommitted 讀已提交 read commited 可重複讀 repeatable read 序列化讀 serlalizable...

mysql事務相關概念和操作

改變當前db use dbname mysql 事務處理主要有兩種方法 1 用 begin,rollback,commit來實現 begin 開始乙個事務 rollback 事務回滾 commit 事務確認 2 直接用 set 來改變 mysql 的自動提交模式 set autocommit 0 禁...