在SQL語言中,實現事務的提交的語句是COMMIT,REVOKE是廢除某用戶或某組或所有用戶的訪問權限,在操作完事務時,一定要使用COMMIT語句提交事務,否則,事務操作會失敗。
在SQL語言中,實現事務的提交的語言是COMMIT;REVOKE:廢除某用戶或某組或所有用戶的訪問權限。
MySQL 事務主要用于處理操作量大,復雜度高的數據。比如說,在人員管理系統中,你刪除一個人員,你既需要刪除人員的基本資料,也要刪除和該人員相關的信息,如信箱,文章等等,這樣,這些數據庫操作語句就構成一個事務!
在 MySQL 中只有使用了 Innodb 數據庫引擎的數據庫或表才支持事務。事務處理可以用來維護數據庫的完整性,保證成批的 SQL 語句要么全部執(zhí)行,要么全部不執(zhí)行。事務用來管理 insert,update,delete 語句
一般來說,事務是必須滿足4個條件(ACID)::原子性(Atomicity,或稱不可分割性)、一致性(Consistency)、隔離性(Isolation,又稱獨立性)、持久性(Durability)。
-
原子性:一個事務(transaction)中的所有操作,要么全部完成,要么全部不完成,不會結束在中間某個環(huán)節(jié)。事務在執(zhí)行過程中發(fā)生錯誤,會被回滾(Rollback)到事務開始前的狀態(tài),就像這個事務從來沒有執(zhí)行過一樣。
-
一致性:在事務開始之前和事務結束以后,數據庫的完整性沒有被破壞。這表示寫入的資料必須完全符合所有的預設規(guī)則,這包含資料的精確度、串聯性以及后續(xù)數據庫可以自發(fā)性地完成預定的工作。
-
隔離性:數據庫允許多個并發(fā)事務同時對其數據進行讀寫和修改的能力,隔離性可以防止多個事務并發(fā)執(zhí)行時由于交叉執(zhí)行而導致數據的不一致。事務隔離分為不同級別,包括讀未提交(Read uncommitted)、讀提交(read committed)、可重復讀(repeatable read)和串行化(Serializable)。
-
持久性:事務處理結束后,對數據的修改就是永久的,即便系統故障也不會丟失。