




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
創(chuàng)建并使用事務(wù)
7.5
創(chuàng)建并使用事務(wù)在MySQL數(shù)據(jù)庫(kù)中,當(dāng)多個(gè)用戶訪問(wèn)同一份數(shù)據(jù)時(shí),一個(gè)用戶在更改數(shù)據(jù)的過(guò)程中可能有其他用戶同時(shí)發(fā)起更改請(qǐng)求,為了保證數(shù)據(jù)的更新從一個(gè)一致性狀態(tài)變更為另一個(gè)一致性狀態(tài),這時(shí)必須引入事務(wù)的概念。在MySQL編程中事務(wù)編程已經(jīng)成為不可缺少的一部分。它能保證數(shù)據(jù)庫(kù)從一種一致性狀態(tài)轉(zhuǎn)換為另一種一致性狀態(tài)。7.5
創(chuàng)建并使用事務(wù)事務(wù)就是一個(gè)操作序列,這些操作要么都執(zhí)行,要么都不執(zhí)行,它是一個(gè)不可分割的工作單位。例如,你給朋友轉(zhuǎn)1000元錢,按照正常的操作流程是你的賬戶減去1000元錢,朋友的賬戶增加1000元錢,本身這兩個(gè)操作是完全獨(dú)立的兩次數(shù)據(jù)庫(kù)更新操作,現(xiàn)在如果你的賬戶扣減1000元錢成功,但是你朋友的賬戶增加1000元失敗,就會(huì)出現(xiàn)數(shù)據(jù)對(duì)不上的問(wèn)題,此時(shí)就需要用到數(shù)據(jù)庫(kù)中的事務(wù),事務(wù)把這兩個(gè)操作放到一個(gè)事務(wù)內(nèi)執(zhí)行,要么全部成功,要么全部失敗,從而避免數(shù)據(jù)對(duì)不上的問(wèn)題,這個(gè)問(wèn)題解決了,這就是事務(wù)。1.事務(wù)的概念7.5
創(chuàng)建并使用事務(wù)(1)原子性(Atomicity)原子性是指事務(wù)是一個(gè)不可分割的工作單位,要么成功,要么失敗,是不存在中間狀態(tài)的。(2)一致性(Consistency)一致性是指事務(wù)執(zhí)行前后,數(shù)據(jù)從一個(gè)合法性狀態(tài)變換到另一個(gè)合法性狀態(tài),這種狀態(tài)是語(yǔ)義上的,而不是語(yǔ)法上的。(3)隔離性(Isolation)隔離性是指事務(wù)的執(zhí)行不能被其他事務(wù)干擾,即一個(gè)事務(wù)內(nèi)部的操作及使用的數(shù)據(jù)對(duì)并發(fā)的其他事務(wù)是隔離的,并發(fā)執(zhí)行的各個(gè)事務(wù)之間不能互相干擾。2.事務(wù)的ACID特性7.5
創(chuàng)建并使用事務(wù)(4)持久性(Durability)持久性是指事務(wù)一旦提交,它對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的改變就是永久性,接下來(lái)的其他操作和數(shù)據(jù)庫(kù)故障不應(yīng)該對(duì)其有任何影響。持久性是通過(guò)數(shù)據(jù)庫(kù)重做日志來(lái)保證的,當(dāng)我們通過(guò)事務(wù)對(duì)數(shù)據(jù)進(jìn)行修改的時(shí)候,首先會(huì)將數(shù)據(jù)庫(kù)的變換信息記錄到重做日志中,然后再對(duì)數(shù)據(jù)庫(kù)中對(duì)應(yīng)的行進(jìn)行修改。這樣做的好處是,即使數(shù)據(jù)庫(kù)系統(tǒng)崩潰,數(shù)據(jù)庫(kù)重啟后也能找到?jīng)]有更新到數(shù)據(jù)庫(kù)系統(tǒng)中的重做日志,重新執(zhí)行,從而使事務(wù)具有持久性。2.事務(wù)的ACID特性7.5
創(chuàng)建并使用事務(wù)(1)關(guān)閉自動(dòng)提交在MySQL的默認(rèn)設(shè)置下,事務(wù)都是自動(dòng)提交的,即執(zhí)行任意一條更新語(yǔ)句后會(huì)馬上執(zhí)行COMMIT操作,提交到數(shù)據(jù)庫(kù)中。3.事務(wù)控制語(yǔ)句SETAUTOCOMMIT={0|1};語(yǔ)法說(shuō)明:當(dāng)賦值為0時(shí),關(guān)閉自動(dòng)提交,當(dāng)賦值為1時(shí)打開自動(dòng)提交。(2)開始事務(wù)STARTTRANSACTION;語(yǔ)法說(shuō)明:STARTTRANSACTION命令在開啟事務(wù)的同時(shí),將關(guān)閉自動(dòng)提交。7.5
創(chuàng)建并使用事務(wù)(3)提交事務(wù)COMMIT[WORK];(4)設(shè)置保存點(diǎn)SAVEPOINT<保存點(diǎn)名稱>;語(yǔ)法說(shuō)明:用于在事務(wù)內(nèi)設(shè)置保存點(diǎn)。(5)回滾事務(wù)ROLLBACK;|ROLLBACKTOSAVEPOINT<保存點(diǎn)名稱>;語(yǔ)法說(shuō)明:當(dāng)條件回滾只影響事務(wù)的一部分時(shí),事務(wù)不需要全部撤銷已執(zhí)行的操作,可以讓事務(wù)回滾到指定位置,此時(shí),需要在事務(wù)中設(shè)定保存點(diǎn)(SAVEPOINT)。保存點(diǎn)所在位置之前的事務(wù)語(yǔ)句不用回滾,即保存點(diǎn)之前的操作被視為有效的。7.5
創(chuàng)建并使用事務(wù)1.刪除“student”表中所有數(shù)據(jù),利用ROLLBACK來(lái)撤銷此刪除語(yǔ)句操作?!救蝿?wù)實(shí)施】(1)打開Navicat查詢編輯器窗口。(2)在查詢編輯器窗口輸入以下SQL語(yǔ)句:STARTTRANSACTION;DELETEFROMstudent;ROLLBACK;執(zhí)行以上語(yǔ)句后,打開student表,可以看到student表中數(shù)據(jù)并沒(méi)有被刪除,如下圖所示。7.5
創(chuàng)建并使用事務(wù)7.5
創(chuàng)建并使用事務(wù)2.創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,該存儲(chǔ)函數(shù)向student表中插入兩條學(xué)生信息,并進(jìn)行測(cè)試(1)打開Navicat查詢編輯器窗口。(2)在查詢編輯器窗口輸入以下SQL語(yǔ)句并執(zhí)行。CREATEPROCEDUREp_transaction_test()MODIFIESSQLDATABEGIN DECLARECONTINUEHANDLERFOR1265 BEGIN ROLLBACK; END;
7.5
創(chuàng)建并使用事務(wù) STARTTRANSACTION; INSERTINTOstudentVALUES('23000106','王云','男','2004-03-31','信息工程系','22大數(shù)據(jù)1',17); INSERTINTOstudentVALUES('23000107','李浩','男','2004-04-13','信息工程系','22大數(shù)據(jù)1','17歲'); COMMIT;END;(3)執(zhí)行調(diào)用存儲(chǔ)過(guò)程語(yǔ)句,然后查看student表中信息,如下圖所示。CALLp_transaction_test();7.5
創(chuàng)建并使用事務(wù)從圖中可以看出,調(diào)用存儲(chǔ)過(guò)程,2條數(shù)據(jù)并沒(méi)有插入到數(shù)據(jù)庫(kù)中,因?yàn)榈?條插入語(yǔ)句中最后一個(gè)字段輸入格式有誤,由于事務(wù),所以這兩條語(yǔ)句都不執(zhí)行。7.5
創(chuàng)建并使用事務(wù)修改存儲(chǔ)過(guò)程p_transaction_test,將第2條插入語(yǔ)句修改正確后,調(diào)用該存儲(chǔ)過(guò)程,然后查看student表中信息,如下圖所示。INSERTINTOstudentVALUES('23000106','王云','男','2004-03-31','信息工程系','22大數(shù)據(jù)1',17);INSERTINTOs
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國(guó)降血脂藥行業(yè)運(yùn)營(yíng)現(xiàn)狀及發(fā)展規(guī)劃分析報(bào)告
- 2025-2030年中國(guó)銀礦石市場(chǎng)運(yùn)行動(dòng)態(tài)與發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)鋁合金防火門窗市場(chǎng)發(fā)展?fàn)顩r及營(yíng)銷戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)鋼構(gòu)件行業(yè)市場(chǎng)發(fā)展現(xiàn)狀及前景趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)遠(yuǎn)洋漁輪市場(chǎng)運(yùn)行格局及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)轎車懸架彈簧行業(yè)發(fā)展前景及投資戰(zhàn)略研究報(bào)告
- 2025-2030年中國(guó)美體塑身衣行業(yè)市場(chǎng)運(yùn)行狀況及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)繡花機(jī)市場(chǎng)運(yùn)行動(dòng)態(tài)及發(fā)展趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)紙質(zhì)文具行業(yè)運(yùn)營(yíng)狀況及發(fā)展前景分析報(bào)告
- 2025-2030年中國(guó)纖維素酒精市場(chǎng)運(yùn)行動(dòng)態(tài)及發(fā)展趨勢(shì)分析報(bào)告
- 教學(xué)課件-電力系統(tǒng)的MATLAB-SIMULINK仿真與應(yīng)用(王晶)
- GB/T 26189.2-2024工作場(chǎng)所照明第2部分:室外作業(yè)場(chǎng)所的安全保障照明要求
- 《電商直播》 課件 項(xiàng)目一 走入電商直播
- 《中國(guó)宮腔鏡診斷與手術(shù)臨床實(shí)踐指南(2023版)》解讀課件
- GB/T 9535-1998地面用晶體硅光伏組件設(shè)計(jì)鑒定和定型
- 常用家電維修基礎(chǔ)知識(shí)(課堂PPT)
- 楊氏太極拳37式拳譜
- 臥式設(shè)備安裝
- CFG樁施工記錄表范本
- 復(fù)旦校內(nèi)辦事指南
- 建筑公司項(xiàng)目部績(jī)效考核管理制度
評(píng)論
0/150
提交評(píng)論