mysql對資料操作 事物 資料庫事物操作

2021-10-18 11:20:07 字數 1505 閱讀 4798

事務

什麼是事務?

轉賬:1. 給wc賬戶減1000元

2. 給wcxf賬戶加1000元

當給wc賬戶減1000元後,丟擲了異常!這會怎麼樣呢?我相信從此之後,wc再也不敢轉賬了。

使用事務就可以處理這一問題:把多個對資料庫的操作繫結成乙個事務,要麼都成功,要麼都失敗!

事物的特性:acid

*原子性:事務中所有操作是不可再分割的原子單位。事務中所有操作要麼全部執行成功,要麼全部執行失敗。

* 一致性:事務執行後,資料庫狀態與其它業務規則保持一致。如轉賬業務,無論事務執行成功與否,參與轉賬的兩個賬號餘額之和應該是不變的。

* 隔離性:隔離性是指在併發操作中,不同事務之間應該隔離開來,使每個併發中的事務不會相互干擾。

*永續性:一旦事務提交成功,事務中所有的資料操作都必須被持久化到資料庫中,即使提交事務後,資料庫馬上崩潰,在資料庫重啟時,也必須能保證通過某種機制恢復資料。

mysql操作事務

1. 開始事務:start transaction

2. 結束事務:commit//提交事物rollback//事物回滾

(1)事物回滾

(2)事物提交

jdbc事務

1. 開始事務:con.setautocommit(false);

2. 結束事務;con.commit()或con.rollback();

public classjdbc2 catch(exception e) catch(sqlexception e1) finallycatch(exception e)catch(sqlexception e1) //回滾事物

e.printstacktrace();

}finallycatch(ioexception e) //載入驅動

trycatch(classnotfoundexception e) /*** 獲得connection連線

*@return*@throw***ception*/

public static connection getconnection() throw***ception returnconn;

}/*** 關閉所有連線

*@paramrs

*@paramstatement

*@paramconn*/

public static voidcreateclose(resultset rs, preparedstatement statement,

connection conn) catch(exception e) {

e.printstacktrace();

Mysql 對資料庫的操作

mysql 基本概念 mysql檔案系統,用來儲存資料,然後通過sql語句來獲取資料 er模型圖 mysql 免費的小型的資料庫,現在被oracle收購.oracle oracle公司收費的大型的資料庫.sqlserver 微軟公司收費中型的資料庫.db2 ibm公司收費的大型的資料庫.sybase...

對資料進行操作 事務Transaction

事務是對訪問資料庫這一事物的稱呼 事務的四個特性 單位 狀態 過程和結果 1.單位 事務的原子性,事務是資料操作的最小單位,已經不可在分割 2.狀態 事務的一致性,由於原子性,所以操作要麼成功,要麼失敗,而且是保持一致的 3.過程 事務的隔離性,在操作過程中,對資料的本次操作進行隔離,免受其他操作的...

資料庫操作事務IsolationLevel 列舉

成員名稱 說明chaos 無法覆蓋隔離級別更高的事務中的掛起的更改。readcommitted 在正在讀取資料時保持共享鎖,以避免髒讀,但是在事務結束之前可以更改資料,從而導致不可重複的讀取或幻像資料。readuncommitted 可以進行髒讀,意思是說,不發布共享鎖,也不接受獨佔鎖。repeat...