操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    一、事務(wù)的基本介紹

    如果一個(gè)包含多個(gè)步驟的業(yè)務(wù)操作,被事務(wù)管理,那么這些操作要么同時(shí)成功,要么同時(shí)失敗。

    二、事務(wù)的基本語(yǔ)法

    -- 1.開啟事務(wù)
    start transaction;
    -- 2.回滾
    rollback;
    -- 3.提交
    commit;

    三、事務(wù)的舉例

    -- 創(chuàng)建account表
    Create TABLE account(
      id INT PRIMARY KEY AUTO_INCREMENT,
      NAME VARCHAR(10),
      balance DOUBLE
    

    數(shù)據(jù)庫(kù)中的事務(wù)是什么_sqlserver中事務(wù)_列數(shù)據(jù)中是合法的整型常量是

    );

    -- 添加數(shù)據(jù)
    INSERT INTO account(NAME,balance) VALUES('ZHANGSAN'1000),('lisi',1000)

    模擬一個(gè)轉(zhuǎn)賬操作張三給李四轉(zhuǎn)賬500元

    -- 0.開啟事務(wù)
    START TRANSACTION;
    -- 1.張三賬號(hào)減500元
    UPDATE account SET balance = balance - 500 
    WHERE NAME = 'zhangsan';
    -- 2.李四賬號(hào)加500元
    --- 出錯(cuò)了 ---
    UPDATE account SET balance = balance + 500 
    WHERE NAME = 'lisi';
    --發(fā)現(xiàn)執(zhí)行沒有問題,提交事務(wù)
    

    數(shù)據(jù)庫(kù)中的事務(wù)是什么_列數(shù)據(jù)中是合法的整型常量是_sqlserver中事務(wù)

    COMMIT; -- 發(fā)現(xiàn)出問題了,回滾事務(wù) ROLLBACK;

    四、事務(wù)的提交

    MySQL數(shù)據(jù)庫(kù)中事務(wù)默認(rèn)自動(dòng)提交。

    1.事務(wù)提交的方式

    (1)自動(dòng)提交

    1.MySQL就是自動(dòng)提交的

    2.一條DML(增刪改)語(yǔ)句會(huì)自動(dòng)提交一次事務(wù)

    (2)手動(dòng)提交

    1.數(shù)據(jù)庫(kù)默認(rèn)是手動(dòng)提交事務(wù)

    2.需要先開啟事務(wù),再提交

    2.修改事務(wù)的提交方式

    -- 查看事務(wù)的提交方式
    

    數(shù)據(jù)庫(kù)中的事務(wù)是什么_sqlserver中事務(wù)_列數(shù)據(jù)中是合法的整型常量是

    SELECT @@autocommit; //1代表自動(dòng)提交,0代表手動(dòng)提交 -- 修改默認(rèn)的提交方式 set @@autocommit = 0;

    五、事務(wù)的四大特性

    1.原子性:是不可分割的最小操作單位,要么同時(shí)成功數(shù)據(jù)庫(kù)中的事務(wù)是什么,要么同時(shí)失敗。

    2.持久性:當(dāng)事務(wù)提交或回滾后,數(shù)據(jù)庫(kù)會(huì)持久化的保存數(shù)據(jù)

    3.隔離性:多個(gè)事務(wù)之間。相互獨(dú)立

    4.一致性:事務(wù)操作前后數(shù)據(jù)總量不變。

    六、事務(wù)的隔離級(jí)別(了解)

    概念:多個(gè)事務(wù)之間是相互隔離、相互獨(dú)立的。但是如果多個(gè)事務(wù)操作同一批語(yǔ)句,則會(huì)引發(fā)一些問題,設(shè)置不同的隔離級(jí)別就可以解決這些問題。

    1.存在的問題

    1.臟讀:一個(gè)事務(wù),讀取到另一個(gè)事務(wù)中沒有提交的數(shù)據(jù)

    2.不可重復(fù)讀(虛讀):在同一個(gè)事務(wù)中,兩次讀取到的數(shù)據(jù)不一樣

    3.幻讀:一個(gè)事務(wù)操作(DML)數(shù)據(jù)庫(kù)中所有的記錄,另一個(gè)事務(wù)添加了一條數(shù)據(jù)數(shù)據(jù)庫(kù)中的事務(wù)是什么,則第一個(gè)事務(wù)查詢不到自己的修改數(shù)據(jù)。

    sqlserver中事務(wù)_列數(shù)據(jù)中是合法的整型常量是_數(shù)據(jù)庫(kù)中的事務(wù)是什么

    2.隔離級(jí)別

    1.read uncommitted:  //讀未提交
    -- 產(chǎn)生的問題:臟讀,不可重復(fù)讀,幻讀
    2.read committed: //讀已提交(Oracle默認(rèn))
    --產(chǎn)生的問題:不可重復(fù)讀,幻讀
    3.repeatable read: //可重復(fù)讀(mysql默認(rèn))
    -- 產(chǎn)生的問題:幻讀
    4.serializable: //串行化(一個(gè)事務(wù)在操作表的時(shí)候,另一個(gè)事務(wù)無(wú)法操作表,表會(huì)被鎖住,只有前一個(gè)事務(wù)回滾或者提交事務(wù)之后,后一個(gè)事務(wù)才能對(duì)表進(jìn)行操作,效率很低)
    

    數(shù)據(jù)庫(kù)中的事務(wù)是什么_sqlserver中事務(wù)_列數(shù)據(jù)中是合法的整型常量是

    -- 可以解決任何問題

    3.注意事項(xiàng)

    -- 注意:隔離級(jí)別從小到大安全性越來(lái)越高,效率越來(lái)越低。
    -- 數(shù)據(jù)庫(kù)查詢隔離級(jí)別
      SELECT @@tx_isolation;
    -- 數(shù)據(jù)庫(kù)設(shè)置隔離級(jí)別:
      SET global transaction isolation level '級(jí)別字符串';

    4.具體演示

    set global transaction isolation level read uncommitted;
    start transaction;
    -- 轉(zhuǎn)賬操作
    update account set balance = balance - 500 where id=1;
    update account set balance = balance + 500 where id=2;

網(wǎng)站首頁(yè)   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有