欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql?事務(wù)解析

 更新時(shí)間:2021年11月24日 08:47:04   作者:my_journey  
這篇文章主要給大家分享的是mysql事務(wù)解析,事務(wù)(transaction)是業(yè)務(wù)邏輯的一個(gè)基本的單元組成,下面文章圍繞mysql事務(wù)的相關(guān)資料展開詳細(xì)內(nèi)容,需要的朋友可以參考一下希望對(duì)大家有所幫助

事務(wù)(transaction)

事務(wù)是業(yè)務(wù)邏輯的一個(gè)基本的單元組成。

每一個(gè)事務(wù)由一條條sql語句組成。

和事務(wù)相關(guān)的語句(insert,delete,update)這些DML語句

事務(wù)的存在保證了數(shù)據(jù)的安全性。

事務(wù)機(jī)制:

每一次執(zhí)行DML語句都會(huì)記錄操作,但不會(huì)修改數(shù)據(jù),等到所有DML執(zhí)行,

最后提交事務(wù)(刪除記錄,修改硬盤數(shù)據(jù))或者回滾事務(wù)(刪除記錄,不修改數(shù)據(jù))。

事務(wù)由四大特性:ACID

  • A:原子性,事務(wù)是最小的工作單元
  • C:一致性,事務(wù)中的DML語句要么都執(zhí)行成功,要么都失敗
  • I:隔離性,事務(wù)與事務(wù)之間隔離。
  • D:持久性,最后數(shù)據(jù)持久化到硬盤,才會(huì)結(jié)束

事務(wù)的隔離級(jí)別:

1.讀未提交(read uncommitted),表示一個(gè)事務(wù)可以讀取到另一個(gè)事務(wù)沒有提交的數(shù)據(jù)

這種級(jí)別存在臟讀現(xiàn)象

2.讀以提交(read committed),可以讀取到已經(jīng)提交的數(shù)據(jù)

這種級(jí)別解決了臟讀現(xiàn)象,但是不可以重復(fù)讀

3.可重復(fù)讀(repeatable read),事務(wù)讀取的數(shù)據(jù),與其他事務(wù)提交數(shù)據(jù)無關(guān),可以重復(fù)讀取,事務(wù)開始的數(shù)據(jù)。

解決了不可重復(fù)讀現(xiàn)象,但是存在幻讀,讀取到的數(shù)據(jù)不真實(shí)。

4.序列化讀/串行化讀。解決了所有問題,和多線程里面的線程安全相似。但是存在效率低下。因?yàn)槭聞?wù)需要排隊(duì)。

mysql數(shù)據(jù)庫默認(rèn)的隔離級(jí)別是第三級(jí)別??芍貜?fù)讀。

mysql事務(wù)默認(rèn)自動(dòng)提交。執(zhí)行一條DML直接修改硬盤上的數(shù)據(jù)。

想要手動(dòng)提交事務(wù)。在執(zhí)行DML之前。先start transaction;然后執(zhí)行DML,最后提交或者回滾。

演示手動(dòng)回滾事務(wù):

drop table if exists t_user1;

create table t_user1(

id int(3) primary key auto_increment,

username varchar(10)

);

mysql> create table t_user1(

-> id int(3) primary key auto_increment,

-> username varchar(10)

-> );

Query OK, 0 rows affected (0.02 sec)

mysql> insert into t_user1(username) values('h1');

Query OK, 1 row affected (0.01 sec)

mysql> select * from t_user1;

+----+----------+

| id | username |

+----+----------+

| 1 | h1 |

+----+----------+

1 row in set (0.00 sec)

mysql> rollback;//回滾事務(wù)

Query OK, 0 rows affected (0.00 sec)

mysql> select * from t_user1;//回滾之后還是和之前一樣,因?yàn)閙yql自動(dòng)提交了

+----+----------+

| id | username |

+----+----------+

| 1 | h1 |

+----+----------+

1 row in set (0.00 sec)

mysql> start transaction;//手動(dòng)開啟事務(wù),關(guān)閉事務(wù)自動(dòng)提交

Query OK, 0 rows affected (0.00 sec)

mysql> insert into t_user1(username) values('h2');

Query OK, 1 row affected (0.01 sec)

mysql> insert into t_user1(username) values('h3');

Query OK, 1 row affected (0.00 sec)

mysql> insert into t_user1(username) values('h4');

Query OK, 1 row affected (0.00 sec)

mysql> select * from t_user1;

+----+----------+

| id | username |

+----+----------+

| 1 | h1 |

| 2 | h2 |

| 3 | h3 |

| 4 | h4 |

+----+----------+

4 rows in set (0.00 sec)

mysql> rollback;//回滾

Query OK, 0 rows affected (0.01 sec)

mysql> select * from t_user1;

+----+----------+

| id | username | 最后硬盤上的數(shù)據(jù)還是和之前一樣。

+----+----------+ 回滾刪除記錄,不修改硬盤上的數(shù)據(jù)。

| 1 | h1 |

+----+----------+

1 row in set (0.00 sec)

到此這篇關(guān)于mysql 事務(wù)解析的文章就介紹到這了,更多相關(guān)mysql 事務(wù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • window下mysql 8.0.15 安裝配置方法圖文教程

    window下mysql 8.0.15 安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了window下mysql 8.0.15 安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Mysql樹形遞歸查詢的實(shí)現(xiàn)方法

    Mysql樹形遞歸查詢的實(shí)現(xiàn)方法

    這篇文章主要給大家介紹了關(guān)于Mysql樹形遞歸查詢的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • MySQL與PHP的基礎(chǔ)與應(yīng)用專題之內(nèi)置函數(shù)

    MySQL與PHP的基礎(chǔ)與應(yīng)用專題之內(nèi)置函數(shù)

    MySQL是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB 公司開發(fā),屬于 Oracle 旗下產(chǎn)品。MySQL 是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,本系列將帶你掌握php與mysql的基礎(chǔ)應(yīng)用,本篇MySQL的內(nèi)置函數(shù)開始
    2022-02-02
  • mysql設(shè)置值timestamp獲取當(dāng)前時(shí)間并自動(dòng)更新方式

    mysql設(shè)置值timestamp獲取當(dāng)前時(shí)間并自動(dòng)更新方式

    這篇文章主要介紹了mysql設(shè)置值timestamp獲取當(dāng)前時(shí)間并自動(dòng)更新方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • mysql5.7 新增的json字段類型用法實(shí)例分析

    mysql5.7 新增的json字段類型用法實(shí)例分析

    這篇文章主要介紹了mysql5.7 新增的json字段類型用法,結(jié)合實(shí)例形式分析了mysql5.7 新增的json字段類型具體功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下
    2020-02-02
  • MySQL8.0中的窗口函數(shù)的示例代碼

    MySQL8.0中的窗口函數(shù)的示例代碼

    本文主要介紹了MySQL8.0中的窗口函數(shù)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 對(duì)MySQL幾種聯(lián)合查詢的通俗解釋

    對(duì)MySQL幾種聯(lián)合查詢的通俗解釋

    這篇文章主要介紹了LEFT JOIN 關(guān)鍵字會(huì)從左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中沒有匹配的行。下面給個(gè)通俗的解釋吧
    2015-01-01
  • MySQL中的max()函數(shù)使用教程

    MySQL中的max()函數(shù)使用教程

    這篇文章主要介紹了MySQL中的max()函數(shù)使用教程,是學(xué)習(xí)MySQL入門的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-05-05
  • mysql不包含模糊查詢問題

    mysql不包含模糊查詢問題

    這篇文章主要介紹了mysql不包含模糊查詢問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • MySQL數(shù)據(jù)權(quán)限的實(shí)現(xiàn)詳情

    MySQL數(shù)據(jù)權(quán)限的實(shí)現(xiàn)詳情

    這篇文章主要介紹了MySQL數(shù)據(jù)權(quán)限的實(shí)現(xiàn)詳情,文章通過實(shí)際案例,從代碼實(shí)戰(zhàn)的角度來實(shí)現(xiàn)這樣的一個(gè)數(shù)據(jù)權(quán)限。具體詳細(xì)介紹,具有一定的參考價(jià)值
    2022-08-08

最新評(píng)論