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

講解MySQL中的事務(wù)特性

 更新時間:2015年05月26日 18:04:18   投稿:goldensun  
這篇文章主要介紹了講解MySQL中的事務(wù)特性,是MySQL入門學習中的基礎(chǔ)知識,需要的朋友可以參考下

一個事務(wù)是一個連續(xù)的一組數(shù)據(jù)庫操作,就好像它是一個單一的工作單元進行。換言之,永遠不會是完整的事務(wù),除非該組內(nèi)的每個單獨的操作是成功的。如果在事務(wù)的任何操作失敗,則整個事務(wù)將失敗。

實際上,會俱樂部許多SQL查詢到一個組中,將執(zhí)行所有的人都一起作為事務(wù)的一部分。
事務(wù)的特性:

事務(wù)有以下四個標準屬性的縮寫ACID,通常被稱為:

  •     原子性: 確保工作單元內(nèi)的所有操作都成功完成,否則事務(wù)將被中止在故障點,和以前的操作將回滾到以前的狀態(tài)。
  •     一致性: 確保數(shù)據(jù)庫正確地改變狀態(tài)后,成功提交的事務(wù)。
  •     隔離性: 使事務(wù)操作彼此獨立的和透明的。
  •     持久性: 確保提交的事務(wù)的結(jié)果或效果的系統(tǒng)出現(xiàn)故障的情況下仍然存在。
  • 在MySQL中,事務(wù)開始使用COMMIT或ROLLBACK語句開始工作和結(jié)束。開始和結(jié)束語句的SQL命令之間形成了大量的事務(wù)。
  • COMMIT & ROLLBACK:
  • 這兩個關(guān)鍵字提交和回滾主要用于MySQL的事務(wù)。
  •     當一個成功的事務(wù)完成后,發(fā)出COMMIT命令應(yīng)使所有參與表的更改才會生效。
  •     如果發(fā)生故障時,應(yīng)發(fā)出一個ROLLBACK命令返回的事務(wù)中引用的每一個表到以前的狀態(tài)。

可以控制的事務(wù)行為稱為AUTOCOMMIT設(shè)置會話變量。如果AUTOCOMMIT設(shè)置為1(默認值),然后每一個SQL語句(在事務(wù)與否)被認為是一個完整的事務(wù),并承諾在默認情況下,當它完成。 AUTOCOMMIT設(shè)置為0時,發(fā)出SET AUTOCOMMIT =0命令,在隨后的一系列語句的作用就像一個事務(wù),直到一個明確的COMMIT語句時,沒有活動的提交。

可以通過使用mysql_query()函數(shù)在PHP中執(zhí)行這些SQL命令。
通用事務(wù)例子

這一系列事件是獨立于所使用的編程語言,可以建立在任何使用的語言來創(chuàng)建應(yīng)用程序的邏輯路徑。
可以通過使用mysql_query()函數(shù)在PHP中執(zhí)行這些SQL命令。

  •     BEGIN WORK開始事務(wù)發(fā)出SQL命令
  •     發(fā)出一個或多個SQL命令,如SELECT,INSERT,UPDATE或DELETE
  •     檢查是否有任何錯誤,一切都依據(jù)的需要。
  •     如果有任何錯誤,那么問題ROLLBACK命令,否則發(fā)出COMMIT命令。

在MySQL中的事務(wù)安全表類型:

如果打算使用MySQL事務(wù)編程,那么就需要一種特殊的方式創(chuàng)建表。有很多支持事務(wù)但最流行的是InnoDB表類型。

從源代碼編譯MySQL時,InnoDB表支持需要特定的編譯參數(shù)。如果MySQL版本沒有InnoDB支持,請互聯(lián)網(wǎng)服務(wù)提供商建立一個版本的MySQL支持InnoDB表類型,或者下載并安裝Windows或Linux/UNIX的MySQL-Max二進制分發(fā)和使用的表類型在開發(fā)環(huán)境中。
如果MySQL安裝支持InnoDB表,只需添加一個的TYPE=InnoDB 定義表創(chuàng)建語句。例如,下面的代碼創(chuàng)建InnoDB表tcount_tbl:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> create table tcount_tbl
  -> (
  -> tutorial_author varchar(40) NOT NULL,
  -> tutorial_count INT
  -> ) TYPE=InnoDB;
Query OK, 0 rows affected (0.05 sec)

請查看下面的鏈接了解更多關(guān)于: InnoDB

可以使用其他GEMINI或BDB表類型,但它取決于您的安裝,如果它支持這兩種類型。

相關(guān)文章

  • Redis什么是熱Key問題以及如何解決熱Key問題

    Redis什么是熱Key問題以及如何解決熱Key問題

    這篇文章主要介紹了Redis什么是熱Key問題以及如何解決熱Key問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • mysql 5.7.24 安裝配置方法圖文教程

    mysql 5.7.24 安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 5.7.24 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • MySQL中的SUM函數(shù)使用教程

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

    這篇文章主要介紹了MySQL中的SUM函數(shù)使用教程,是MySQL入門學習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • Mysql中Json相關(guān)的函數(shù)使用

    Mysql中Json相關(guān)的函數(shù)使用

    本文主要介紹了Mysql當中Json相關(guān)的函數(shù)使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • MySQL之修改數(shù)據(jù)表存儲引擎的三種方式

    MySQL之修改數(shù)據(jù)表存儲引擎的三種方式

    這篇文章主要介紹了MySQL之修改數(shù)據(jù)表存儲引擎的三種方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 通過實例學習MySQL分區(qū)表原理及常用操作

    通過實例學習MySQL分區(qū)表原理及常用操作

    我們試著想一想, 在生產(chǎn)環(huán)境中什么最重要? 我感覺在生產(chǎn)環(huán)境中應(yīng)該沒有什么比數(shù)據(jù)跟更為重要. 那么我們該如何保證數(shù)據(jù)不丟失、或者丟失后可以快速恢復(fù)呢?只要看完這篇大家應(yīng)該就能對MySQL中數(shù)據(jù)備份有一定了解
    2019-05-05
  • 尋找sql注入的網(wǎng)站的方法(必看)

    尋找sql注入的網(wǎng)站的方法(必看)

    下面小編就為大家?guī)硪黄獙ふ襰ql注入的網(wǎng)站的方法(必看)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • MySQL修改數(shù)據(jù)的超詳細教程

    MySQL修改數(shù)據(jù)的超詳細教程

    在MySQL中可以使用?UPDATE?語句來修改、更新一個或多個表的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于MySQL修改數(shù)據(jù)的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Mysql計算字段長度函數(shù)之CHAR_LENGTH函數(shù)

    Mysql計算字段長度函數(shù)之CHAR_LENGTH函數(shù)

    mysql中計算字符串長度有兩個函數(shù)分別為char_length和length,char_length函數(shù)可以計算unicode字符,下面這篇文章主要給大家介紹了關(guān)于Mysql計算字段長度函數(shù)之CHAR_LENGTH函數(shù)的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • MySQL 5.7增強版Semisync Replication性能優(yōu)化

    MySQL 5.7增強版Semisync Replication性能優(yōu)化

    這篇文章主要介紹了MySQL 5.7增強版Semisync Replication性能優(yōu)化,本文著重講解支持發(fā)送binlog和接受ack的異步化、支持在事務(wù)commit前等待ACK兩項內(nèi)容,需要的朋友可以參考下
    2015-05-05

最新評論