前面咱們介紹過數據庫中 帶你瞭解數據庫中JOIN的用法 與 帶你瞭解數據庫中group by的用法 的相關用法。本章節主要來介紹下數據庫中一個很是重要的知識點事務
,也是咱們項目中或面試中常常會遇到的知識點。若有錯誤還請你們及時指出~ mysql
涉及面試題:git
如下都是採用mysql數據庫
事務(Transaction),是咱們關係型數據庫中很是重要的一個概念,它要符合ACID特性。是由一組SQL語句組成的一個程序執行單元(Unit),該執行單元要麼成功Commit,要麼失敗Rollback。github
原子性
:指事務是一個不可再分割的工做單元,事務中的操做要麼都發生,要麼都不發生。
通俗的說:咱們有一堆的事情,它要麼全作,要麼全都不作,不能只作一半。好比咱們的銀行轉帳。我把錢轉給你,把個人錢扣掉,而後把你的錢加上去。不能只作一半,只把個人錢扣掉,你的錢沒有加上去。面試
一致性
指事務開始以前和事務結束之後,數據庫的完整性約束沒有被破壞。
通俗的說:我和你的錢加起來一共是2000,那麼無論我和你之間如何轉帳,轉幾回帳,事務結束後咱們的錢相加起來應該還得是2000,這就是事務的一致性。sql
隔離性
指多個事務併發訪問時,事務之間是隔離的,一個事務不該該影響其它事務運行效果。
通俗的說:多個用戶併發訪問操做同一張表時,數據庫爲每個用戶開啓的事務,不能被其餘事務的操做所幹擾,多個併發事務之間要相互隔離。數據庫
數據庫定義了4個隔離的級別:編程
下篇文章咱們將專門介紹事務的隔離性
持久性
指事務所對數據庫所做的更改便持久的保存在數據庫之中,並不會被回滾。
通俗的說:好比我將事務作完以後,這個結果是能持久下去的並能一直存下去。無論斷電仍是其餘狀況。微信
關係型數據庫都實現了ACID這樣的一些事務特性。其中最關鍵的一點是Isolation(隔離性),互相不影響。
本章節主要簡單介紹了數據庫中事務的ADID特性,下一章咱們將詳細介紹事務隔離
。
歡迎關注公衆號: Coder編程
獲取最新原創技術文章和相關免費學習資料,隨時隨地學習技術知識!
歡迎你們關注並Star~