事務(wù)就是將數(shù)據(jù)庫從一種一致狀態(tài)轉(zhuǎn)換為另一種一致狀態(tài)接谨。事務(wù)可由一條非常簡單的SQL語句組成, 也可以由一組復(fù)雜的SQL語句組成坏晦。事務(wù)是訪問并更新數(shù)據(jù)庫中各種數(shù)據(jù)項(xiàng)的一個(gè)程序執(zhí)行單元倚喂。 在事務(wù)中的操作斋泄, 要么都做修改杯瞻, 要么都不做, 這就是事務(wù)的目的炫掐, 也是事務(wù)模型區(qū)別與文件系統(tǒng)的重要特征之一
事務(wù)具有四大特性:
1魁莉、原子型:指的是整個(gè)數(shù)據(jù)庫事務(wù)是不可分割的一個(gè)工作單位。只有使事務(wù)中所有的數(shù)據(jù)庫操作都執(zhí)行成功募胃,才算整個(gè)事務(wù) 成功旗唁。如果事務(wù)中一個(gè)mysql語句執(zhí)行不成功,則會(huì)撤回所有的mysql語句痹束,數(shù)據(jù)庫狀態(tài)應(yīng)該退回事務(wù)執(zhí)行之前检疫。
2、一致性:將數(shù)據(jù)庫從一種狀態(tài)轉(zhuǎn)換另一種一致的狀態(tài)祷嘶。在事務(wù)開始之前和事務(wù)結(jié)束之后屎媳,數(shù)據(jù)庫的完整性約束沒有被破壞。
3论巍、隔離性:事務(wù)的隔離性要求每個(gè)讀寫事務(wù)的對(duì)象對(duì)其他事務(wù)的操作對(duì)象能相互分離烛谊,即該事務(wù)提交前對(duì)其他事務(wù)都不可見,通常這使用鎖住一個(gè)實(shí)體對(duì)象的子集嘉汰,以此來提高事務(wù)之間并發(fā)度丹禀。
4、持久性:事務(wù)一旦提交鞋怀,其結(jié)果就是永久性的双泪。即使發(fā)生宕機(jī)等故障,數(shù)據(jù)庫也能將數(shù)據(jù)恢復(fù)密似。需要注意的是攒读,只能從事務(wù)本身的角度來保證結(jié)果的永久性。