事務的概念: 含義: 事務由單獨單元的一個或者多個sql語句組成,在這個單元中,每個sql語句時相互依賴的。而整個單獨單元作為一個不可分割的整體, 如果單元中某條sql語句一旦執行失敗或者產生錯誤,整個單元將會回滾,也就是所有受到影響的數據將會返回到事務開始以前的狀態;如果單元中的所有sql語句均執 ...
事務的概念:
含義:
事務由單獨單元的一個或者多個sql語句組成,在這個單元中,每個sql語句時相互依賴的。而整個單獨單元作為一個不可分割的整體,
如果單元中某條sql語句一旦執行失敗或者產生錯誤,整個單元將會回滾,也就是所有受到影響的數據將會返回到事務開始以前的狀態;如果單元中的所有sql語句均執行成功,則事務被順利執行。
事務的屬性:
原子性:一個事務不可在分割,要麼都執行要麼都不執行。
一致性:一個事務的執行會使數據從一個一致狀態切換到另一個一致的狀態。
隔離性:一個事務的執行不受其他事物的干擾
持久性: 一個事務一旦提交,則會永久的改變資料庫的數據
事務的創建:
隱式事務:事務沒有明顯的開啟和結束的標記
顯式事務:事務具有明顯的開啟和結束的標記 前提:必須先設置自動提交功能為禁用
步驟1:開啟事務
set autocommit=0;
start transaction;可選的
步驟2:編寫事務中的sql語句(select insert update delete)
語句1
語句2
步驟3:結束事務
commit;提交事務
rollback;回滾事務
資料庫事務的隔離性:資料庫系統必須具有隔離併發運行各個事務的能力,使他們不會相互影響避免併發問題。
一個事物與其他事務隔離的程度稱為隔離級別。隔離級別越高,,數據一致性就越好,但併發性就越弱。