二十三 MySQL 事務

2022-09-17 00:57:13 字數 1239 閱讀 3881

mysql 事務主要用於處理操作量大,複雜度高的資料。比如說,在人員管理系統中,你刪除乙個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱,文章等等,這樣,這些資料庫操作語句就構成乙個事務!

一般來說,事務是必須滿足4個條件(acid)::原子性(atomicity,或稱不可分割性)、一致性(consistency)、隔離性(isolation,又稱獨立性)、永續性(durability)。

在 mysql 命令列的預設設定下,事務都是自動提交的,即執行 sql 語句後就會馬上執行 commit 操作。因此要顯式地開啟乙個事務務須使用命令 begin 或 start transaction,或者執行命令 set autocommit=0,用來禁止使用當前會話的自動提交。

1、用 begin, rollback, commit來實現

2、直接用 set 來改變 mysql 的自動提交模式:

mysql> userunoob; databasechangedmysql> createtablerunoob_transaction_test(idint(5))engine=innodb; # 建立資料表queryok, 0rowsaffected(0.04sec)mysql> select* fromrunoob_transaction_test; emptyset(0.01sec)mysql> begin; # 開始事務queryok, 0rowsaffected(0.00sec)mysql> insertintorunoob_transaction_testvalue(5); queryok, 1rowsaffected(0.01sec)mysql> insertintorunoob_transaction_testvalue(6); queryok, 1rowsaffected(0.00sec)mysql> commit; # 提交事務queryok, 0rowsaffected(0.01sec)mysql> select* fromrunoob_transaction_test; +------+ | id| +------+ | 5| | 6| +------+ 2rowsinset(0.01sec)mysql> begin; # 開始事務queryok, 0rowsaffected(0.00sec)mysql> insertintorunoob_transaction_testvalues(7); queryok, 1rowsaffected(

二十三 MySQL賬戶管理

在生產環境下運算元據庫時,絕對不可以使用root賬戶連線,而是建立特定的賬戶,授予這個賬戶特定的操作許可權,然後連線進行操作,主要的操作就是資料的crud。mysql賬戶體系 根據賬戶所具有的許可權的不同,mysql的賬戶可以分為以下幾種 賬戶的操作主要包括建立賬戶 刪除賬戶 修改密碼 授權許可權等...

隨筆 二十三

1.gradle 完a整指南 android 2.android gradle 外掛程式 3.0 挖坑日記 3.android效能優化全方面解析 4.android studio 3.2新功能特性 5.重新認識 androidstudio 和 gradle,這些都是你應該知道的 6。美團外賣andr...

演算法(二十三)

1 給定乙個整數陣列nums,找到乙個具有最大和的連續子陣列 子陣列最少包含乙個元素 返回其最大和。public int maxsubarray int nums return maxsum 複雜度分析 public int maxsubarray int nums return maxsum 2 ...