校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > mysql事務(wù)管理操作詳解

mysql事務(wù)管理操作詳解

熱門標(biāo)簽:機(jī)器人打電銷電話 怎么更改高德地圖標(biāo)注 上海市三維地圖標(biāo)注 博樂電銷機(jī)器人 400電話到哪辦理優(yōu)惠 鄭州網(wǎng)絡(luò)外呼系統(tǒng)價錢 電話機(jī)器人是電腦呼號嗎 南寧外呼系統(tǒng)招商 云南大數(shù)據(jù)外呼系統(tǒng)

本文實例講述了mysql事務(wù)管理操作。分享給大家供大家參考,具體如下:

本文內(nèi)容:

  • 什么是事務(wù)管理
  • 事務(wù)管理操作
  • 回滾點
  • 默認(rèn)的事務(wù)管理

首發(fā)日期:2018-04-18


什么是事務(wù)管理:

  • 可以把一系列要執(zhí)行的操作稱為事務(wù),而事務(wù)管理就是管理這些操作要么完全執(zhí)行,要么完全不執(zhí)行(很經(jīng)典的一個例子是:A要給B轉(zhuǎn)錢,首先A的錢減少了,但是突然的數(shù)據(jù)庫斷電了,導(dǎo)致無法給B加錢,然后由于丟失數(shù)據(jù),B不承認(rèn)收到A的錢;在這里事務(wù)就是確保加錢和減錢兩個都完全執(zhí)行或完全不執(zhí)行,如果加錢失敗,那么不會發(fā)生減錢)。
  • 事務(wù)管理的意義:保證數(shù)據(jù)操作的完整性。
  • mysql中并不是所有的數(shù)據(jù)引擎都支持事務(wù)管理的,只有innodb支持事務(wù)管理。

事務(wù)管理的特性:

  • 原子性:事務(wù)的整個操作是一個整體,不可以分割,要么全部成功,要么全部失敗。
  • 一致性:事務(wù)操作的前后,數(shù)據(jù)表中的數(shù)據(jù)沒有變化。
  • 隔離性:事務(wù)操作是相互隔離不受影響的。
  • 持久性:數(shù)據(jù)一旦提交,不可改變,永久的改變數(shù)據(jù)表數(shù)據(jù)。

事務(wù)管理操作:

  • 開啟事務(wù)管理:開啟之后,下面的sql語句并不會馬上執(zhí)行并把結(jié)果寫到表中,而是會寫到事務(wù)日志中。
    • start transaction;
  • 回退操作:回退會清掉開始事務(wù)管理之后寫到事務(wù)日志中的內(nèi)容,即恢復(fù)到開啟事務(wù)管理之前。
    • 語法:rollback;
    • 注意:回退操作只是回退"寫"的內(nèi)容,對于普通的讀表select語句不能回退。
  • 事務(wù)提交:將sql語句的結(jié)果寫到數(shù)據(jù)表中。
    • 語法:commit:

實驗表:

create table bankaccount(id int primary key auto_increment,name varchar(15),money int);
insert into bankaccount(name,money) values("Jobs",2000);
insert into bankaccount(name,money) values("Bill",3000);

補(bǔ)充:

  • 當(dāng) commit 或 rollback 語句執(zhí)行后,事務(wù)會自動關(guān)閉(將來的更改會隱含提交)。
  • 鎖機(jī)制:在事務(wù)操作一個表時,如果使用索引來取值,那么會鎖定到對應(yīng)行;如果沒有使用索引來取值,那么會鎖定整個表。鎖定之后其他連接無法操作指定行或表。

回滾點:

  • 回滾點可以指定rollback回退的位置【比如現(xiàn)在打了100條命令,發(fā)現(xiàn)第81打錯了,如果回滾到打了81命令之前一點而不是回滾到開啟事務(wù)之前就可以節(jié)省下很多時間。】
  • 語法:
    • 創(chuàng)建回滾點:savepoint 回滾點名;
    • 回滾到回滾點:rollback to 回滾點名;

補(bǔ)充:

  • 回滾點在事務(wù)管理關(guān)閉(rollback或commit之后)之后失效,不要在事務(wù)之外使用回滾點。

默認(rèn)的事務(wù)管理:

  • 默認(rèn)情況下,mysql的事務(wù)管理是關(guān)閉(自動事務(wù))的,語句的結(jié)果會馬上寫到數(shù)據(jù)表中。
    • 可以通過show variable like 'autocommit';來查看是否開啟自動事務(wù),值為1為自動事務(wù)已開啟,為0則為關(guān)閉。
  • 關(guān)閉自動事務(wù):set autocommit =0;【關(guān)閉后需要commit來執(zhí)行每一條語句,相當(dāng)于開始了事務(wù)管理】
    • 不過注意的是set autocommit針對的是會話變量,所以這個設(shè)置只在此次會話連接中生效。

更多關(guān)于MySQL相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《MySQL事務(wù)操作技巧匯總》、《MySQL索引操作技巧匯總》、《MySQL常用函數(shù)大匯總》、《MySQL日志操作技巧大全》、《MySQL存儲過程技巧大全》及《MySQL數(shù)據(jù)庫鎖相關(guān)技巧匯總》

希望本文所述對大家MySQL數(shù)據(jù)庫計有所幫助。

您可能感興趣的文章:
  • MySQL中的長事務(wù)示例詳解
  • 詳解 Mysql 事務(wù)和Mysql 日志
  • MySQL事務(wù)及Spring隔離級別實現(xiàn)原理詳解
  • MySQL 事務(wù)概念與用法深入詳解
  • MySQL查看和修改事務(wù)隔離級別的實例講解
  • mysql的事務(wù),隔離級別和鎖用法實例分析
  • mysql實現(xiàn)事務(wù)的提交與回滾的實例詳解
  • MYSQL事務(wù)教程之Yii2.0商戶提現(xiàn)功能
  • MySQL找出未提交事務(wù)信息的方法分享
  • Mysql中事務(wù)ACID的實現(xiàn)原理詳解
  • mysql跨庫事務(wù)XA操作示例
  • 深入了解mysql長事務(wù)

標(biāo)簽:杭州 定西 寧夏 恩施 益陽 白銀 秦皇島 澳門

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《mysql事務(wù)管理操作詳解》,本文關(guān)鍵詞  mysql,事務(wù)管理,操作,詳解,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《mysql事務(wù)管理操作詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于mysql事務(wù)管理操作詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 蓬莱市| 漯河市| 司法| 兰州市| 辽中县| 正阳县| 泉州市| 鲁甸县| 高青县| 福鼎市| 泸定县| 南安市| 宜兴市| 黄浦区| 公主岭市| 泸溪县| 梅河口市| 闵行区| 偏关县| 临汾市| 高要市| 雷州市| 五台县| 肥西县| 军事| 盐山县| 宁晋县| 冕宁县| 花莲市| 岳阳县| 绥宁县| 彰化县| 华亭县| 张家口市| 托里县| 观塘区| 淮滨县| 马山县| 达日县| 庐江县| 旬阳县|