事務是什麼?事務的4個特色(ACID),事務的開啓與結束

事務是指做爲單個邏輯工做單元執行的一組相關操做。這些操做要求所有完成 或者所有不完成。使用事務是爲了保證數據的安全有效。面試

事務有一下四個特色:(ACID數據庫

1、原子性(Atomic):事務中全部數據的修改,要麼所有執行,要麼所有不執行。 安全

2、一致性(Consistence):事務完成時,要使全部全部的數據都保持一致的狀態, 換言之:經過事務進行的全部數據修改,必須在全部相關的表中獲得反映。 併發

3、隔離性(Isolation):事務應該在另外一個事務對數據的修改前或者修改後進行訪問。 spa

4、持久性(Durability):保證事務對數據庫的修改是持久有效的,即便發生系統故障, 也不該該丟失。事務

當事務之間發生併發時有幾個隔離級別。it

 

 Oracle 默認的隔離級別是 read committedio

丟失更新:兩個事務同時存儲, 一個存儲 100 , 一個存儲 200,最終可能至存儲了 200 或者 100,那另外一個的更新就沒成功,即結果不爲預想的 300 class

髒讀:事務 T1 更新了一行數據,尚未提交所作的修改,T2 讀取更新後的數據,T1 回滾,T2 讀取的數據無效,這種數據稱爲髒讀數據。 date

不可重複讀:事務 T1 讀取一行數據,T2 修改了 T1 剛剛讀取的記錄,T1 再次查詢, 發現與第一次讀取的記錄不相同,稱爲不可重複讀。

幻讀:事務 T1 讀取一條帶 WHERE 條件的語句,返回結果集,T2 插入一條新紀錄, 剛好也是 T1 WHERE 條件,T1 再次查詢,結果集中又看到 T2 的記錄,新紀錄就叫 作幻讀。

 

事務的開啓自動開啓於 DML insert delete update

事務的結束

1) 成功

2) 失敗 rollback ,手動回滾  

非法退出 意外的斷電l

rollback 只能對未提交的數據撤銷,已經 Commit 的數據是沒法撤銷的,由於 commit 以後已經持久化到數據庫中。

 

 

添加數據 能夠手寫也能夠從別的表中獲取的);àinsert into 表名 values(和表結構順序和個數和類型一致的數據 insert into 表名(指定列名) values(和指定的列個數、順序、類型一致的列數據)

 

update 表名 set 字段=[,....] where 過濾行記錄;

 

delete [from] 表名 where 過濾行記錄

 

轉自尚學堂學員的Java面試準備筆記--陸同窗,上海尚學堂Java培訓24期學員,已經入職上海企業,月薪11K起步。

相關文章
相關標籤/搜索