麻豆黑色丝袜jk制服福利网站-麻豆精品传媒视频观看-麻豆精品传媒一二三区在线视频-麻豆精选传媒4区2021-在线视频99-在线视频a

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 事務到底是什么

事務到底是什么

來源:千鋒教育
發布人:zyh
時間: 2023-06-12 17:24:00 1686561840

  全文大約【1707】字,不說廢話,只講可以讓你學到技術、明白原理的純干貨!本文帶有豐富案例及配圖視頻,讓你更好的理解和運用文中的技術概念,并可以給你帶來具有足夠啟迪的思考......

事務到底是什么

  一. 事務

  事務這個概念不太容易理解,所以小編通過下面一個模擬轉賬的案例來讓各位小伙伴理解事務到底是什么。

  1.模擬轉賬

  生活當中轉賬是轉賬方賬戶扣錢,收賬方賬戶加錢。我們用數據庫操作來模擬現實轉賬。

  舉個栗子:數據庫模擬轉賬。  

#A 賬戶轉賬給 B 賬戶 1000 元。
#A 賬戶減1000 元
UPDATE account SET MONEY = MONEY-1000 WHERE id=1;

#B 賬戶加 1000 元
UPDATE account SET MONEY = MONEY+1000 WHERE id=2;

  上述代碼完成了兩個賬戶之間轉賬的操作。

  舉個栗子:模擬轉賬錯誤。  

#A 賬戶轉賬給 B 賬戶 1000 元。
#A 賬戶減1000 元
UPDATE account SET MONEY = MONEY-1000 WHERE id=1;
#斷電、異常、出錯...

#B 賬戶加 1000 元
UPDATE account SET MONEY = MONEY+1000 WHERE id=2;

  上述代碼在減操作后過程中出現了異常或加錢語句出錯,會發現,減錢仍舊是成功的,而加錢失敗了!

  注意:每條 SQL 語句都是一個獨立的操作,一個操作執行完對數據庫是永久性的影響。

  2. 事務的概念

  事務是一個原子操作。是一個最小執行單元。可以由一個或多個SQL語句組成,在同一個事務當中,所有的SQL語句都成功執行時,整個事務成功,有一個SQL語句執行失敗,整個事務都執行失敗。

  各位小伙伴是否理解了呢?那么小編再做個小小的總結:

  事務就是讓多個操作形成一個整體,在這個整體中的多個操作要么執行全成功,要么執行全失敗。這就是事務的作用。

  3. 事務的執行過程

  開始過程:連接到數據庫,執行一條DML語句。 上一個事務結束后,又輸入了一條DML語句,即事務的開始。

  結束過程如下:

  1).提交:

  a.顯示提交:commit;

  b.隱式提交:一條創建、刪除的語句,正常退出(客戶端退出連接)。

  2).回滾:

  a.顯示回滾:rollback;

  b.隱式回滾:非正常退出(斷電、宕機),執行了創建、刪除的語句,但是失敗了,會為這個無效的語句執行回滾。

  4. 事務的原理

  數據庫會為每一個客戶端都維護一個空間獨立的緩存區(回滾段),一個事務中所有的增刪改語句的執行結果都會緩存在回滾段中,只有當事務中所有SQL語句均正常結束(commit),才會將回滾段中的數據同步到數據庫。否則無論因為哪種原因失敗,整個事務將回滾(rollback)。

  5. 事務的特性

  下面小編給各位小伙伴系統的說一下事務都具有哪些特性和功能。通常叫做ACID原則,因為ACID是由下面四個單詞的首字母構成的。

  Atomicity(原子性):表示一個事務內的所有操作是一個整體,要么全部成功,要么全部失敗

  Consistency(一致性):表示一個事務內有一個操作失敗時,所有的更改過的數據都必須回滾到修改前狀態

  Isolation(隔離性):事務查看數據操作時數據所處的狀態,要么是另一并發事務修改它之前的狀態,要么是另一事務修改它之后的狀態,事務不會查看中間狀態的數據。

  Durability(持久性):持久性事務完成之后,它對于系統的影響是永久性的。

  6. 事務應用

  應用環境:基于增刪改語句的操作結果(均返回操作后受影響的行數),可通過程序邏輯手動控制事務提交或回滾。

  舉個栗子:事務完成轉賬,A賬戶給B賬戶轉賬。  

#1.開啟事務
START TRANSACTION;|setAutoCommit=0;#禁止自動提交 setAutoCommit=1;#開啟自動提交
#2.事務內數據操作語句
UPDATE ACCOUNT SET MONEY = MONEY-1000 WHERE ID = 1;
UPDATE ACCOUNT SET MONEY = MONEY+1000 WHERE ID = 2;
#3.事務內語句都成功了,執行 COMMIT;
COMMIT;
#4.事務內如果出現錯誤,執行 ROLLBACK;
ROLLBACK;

  注意:開啟事務后,執行的語句均屬于當前事務,成功再執行 COMIIT,失敗要進行 ROLLBACK。

  二. 結語

  小編在這里對本文核心要點進行總結:

  1.事務能夠在增刪改操作中保證數據的一致性,所以在增刪改操作中必須加入事務。

  2.各位小伙伴一定要熟練的記住事務的操作過程以及ACID原則。

tags: 事務
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
主站蜘蛛池模板: 最好看的2018中文字幕国语免费| 亲密爱人之无限诱惑| 日韩精品免费在线视频| 天天5g天天爽永久免费看欧美| 精彩视频一区二区三区| 十六以下岁女子毛片免费| 美女让男人桶出水的网站| а√最新版地址在线天堂| 开始疼痛的小小花蕾3| 美团外卖猛男男同38分钟| 日本哺乳期网站xxxx| 无忧传媒在线观看| 性做久久久久久久久| 菠萝蜜视频入口| 亚洲日韩中文字幕一区| 印度精品性hd高清| 国产一区二区在线观看app| 波多野结衣三人蕾丝边| 波多野结衣教师中文字幕| 久久国产加勒比精品无码 | 污网站在线免费看| 国内xxxx乱子另类| 嗯啊不要视频| 国产精品久久国产精品99| 十六以下岁女子毛片免费| 色成快人播电影网| 波多野结衣欲乱上班族| 狠狠夜色午夜久久综合热91| 一本久久精品一区二区| 性按摩xxxx| 欧洲大片无需服务器| 免费1夜情网站| 亚洲一区在线观看视频| 国产美女无遮挡免费视频| 毛片免费视频观看| free性俄罗斯| 绿巨人晚上彻底放飞自己| 91视频入口| 欧美xxxx三人交性视频| 日本黄色免费观看| 里番acg全彩本子在线观看|