事務 事務的四個特性

2021-08-21 01:46:30 字數 2640 閱讀 8544

現實生活中,我們往往經常會進行轉賬操作,轉賬操作可以分為兩部分來完成,轉入和轉出。只有這兩部分都完成了才可以認為是轉賬成功。在資料庫中,這個過程是使用兩條語句來完成的,如果其中任意一條語句出現了異常沒有執行,則會導致兩個賬號的金額不同步,造成錯誤。

為了防止上面可能出現的情況,mysql引入了事務,所謂事務就是針對資料庫的一組操作,它可以由一條或者多條sql語句組成,同乙個事務的操作具備同步的特點,如果其中有一條語句不能執行的話,那麼所有的語句都不會執行,也就是說,事務中的語句要麼都執行,要麼都不執行。

在使用資料庫時候需要使用事務,必須先開啟事務,開啟事務的語句具體如下:

start transaction;

即:

上面語句是用來開啟事務,事務開啟之後就可以執行sql語句,sql語句執行成功之後,需要使用相應語句提交事務,提交事務的語句如下:

commit;

需要注意的是,在mysql中直接書寫的sql語句都是自動提交的,而事務中的操作語句需要使用commit語句手動提交,只有事務提交後其中的操作才會生效。

如果不想提交事務,我們還可以使用相關語句取消事務(也稱回滾),具體語句如下:

rollback;

需要注意的是,rollback語句只能針對未提交的事務執行的回滾操作,已經提交的事務是不能回滾的。

2. 事務操作具有嚴格的定義,它必須滿足acid:

acid,指資料庫事務正確執行的四個基本要素的縮寫。包含:原子性(atomicity)、一致性(consistency)、隔離性(isolation)、永續性(durability)。

(1)原子性: 原子性是指事務是乙個不可再分割的工作單位,事務中的操作要麼都發生,要麼都不發生。

(2)一致性:一致性是指在事務開始之前和事務結束以後,資料庫的完整性約束沒有被破壞。這是說資料庫事務不能破壞關係資料的完整性以及業務邏輯上的一致性。

(3)隔離性:隔離性是指併發的事務是相互隔離的。即乙個事務內部的操作及正在操作的資料必須封鎖起來,不被企圖進行修改的事務看到 。

(4)永續性:永續性是指在事務完成以後,該事務所對資料庫所作的更改便持久的儲存在資料庫之中,並不會被回滾。 即使出現了任何事故比如斷電等,事務一旦提交,則持久化儲存在資料庫中

3. 相信通過上面的講解,我們對事務有了乙個簡單的了解,接下來我們通過乙個轉賬的案例演示如何使用事務。

(1)演示之前準備工作:

具體sql語句如下:

create

database

chapter06;

usechapter06;

create

table

account(

id intprimary

keyauto_increment,

name

varchar(40

),

money

float

);insert

into account(name,money) values('

a',1000

);insert

into account(name,money) values('

b',1000

);

執行效果如下:

(2)接下來我們使用事務來演示如何實現轉賬功能:首先開啟乙個事務,然後通過update語句將 a賬戶的100元 轉給 b 賬戶,然後最後提交事務,具體語句如下:

start transaction

;update account set

money

=money

-100

where name='a

';update account set

money

=money

+100

where name='b

';commit;

執行效果如下:

mysql事務四個特性 事務的四個特性

事務的四個特性 1.原子性 atomicity 1.1什麼是原子性 一般來說,原子是指不能分解成小部分的東西。這個詞在計算的不同分支中意味著相似但又微妙不同的東西。例如,在多執行緒程式設計中,如果乙個執行緒執行乙個原子操作,這意味著另乙個執行緒無法看到該操作的一半結果。系統只能處於操作之前或操作之後...

事務 四個特性

事務具有4個特徵,分別是原子性 一致性 隔離性和永續性,簡稱事務的acid特性 一 原子性 atomicity 乙個事務要麼全部提交成功,要麼全部失敗回滾,不能只執行其中的一部分操作,這就是事務的原子性 二 一致性 consistency 事務的執行不能破壞資料庫資料的完整性和一致性,乙個事務在執行...

事務的四個特性

事務應該具有4個屬性 原子性 一致性 隔離性 持續性。這四個屬性通常稱為acid特性。原子性 atomicity 乙個事務是乙個不可分割的工作單位,事務中包括的諸操作要麼都做,要麼都不做。一致性 consistency 事務必須是使資料庫從乙個一致性狀態變到另乙個一致性狀態。一致性與原子性是密切相關...