【事務】一組sql語句操作單元,組內所有sql語句,完成乙個業務。
若整組成功,意味著組內的全部操作都成功;
反之,若其中任何一條語句失敗,意味著整個操作都失敗。
操作失敗,意味著整個過程都是沒有意義的,應使資料庫回到操作前的初始狀態。
【point】1. 失敗後,能回到開始位置;
2. 成功之前,其他使用者(程序、規劃)不能看到操作內的修改。
【思路】在一組操作之前,設計乙個記號(備份點)。
【實現】利用innodb 儲存引擎的「事務日誌」功能。
執行分為2個階段:
1. 執行階段;
2. 將執行結果提交給資料庫的階段;
其中,事務日誌便是將執行階段的結果儲存,若使用者選擇提交,才將執行結果提交給資料庫。
(預設的執行方式:自動提交)
需要關閉自動提交功能(存在乙個系統變數,autocommit 可以對自動提交進行配置)
1 set autocommit = 0 ; // 0 意味著關閉自動提交功能;1 意味著開啟
若成功,執行 commit 提交結果;
若失敗,執行 rollback ,回到起始位置。
【常用的事務指令】
1. start transaction 開啟事務(作用:關閉自動提交)。
特點:若事務結束了,無論成敗,都會提交機制,回到start時的狀態(原來是autocommit,就會回到autocommit狀態)。
2. commit
3. rollback
【小練習】
1. 指令
2. 為什麼會有事務?
自動提交、事務日誌。
3. 事務的特點?(acid)
1) 原子性:對於外界而言,事務中的sql語句是乙個整體;
2) 一致性:在事務執行過程中,資料不受其他操作的影響;
3) 隔離性:事務之間不會相互影響。
4) 永續性:事務一旦提交,意味著對資料庫產生了影響,不可以再回退。
原文:
資料庫mysql軟體安裝 資料庫軟體mysql安裝
2.解壓至欲安裝的目錄下 3.開啟cmd,進入軟體目錄下d qmdownload mysql 5.7.24 winx64 bin,執行mysqld 4.初始化使用者 cmd d qmdownload mysql 5.7.24 winx64 bin,執行mysqld initialize insecu...
mysql資料庫之python鏈結mysql
使用之前請在命令列pip install pymysql import pymysql 1.建立鏈結 conn pymysql.connect host 127.0.0.1 ip位址 port 3306,埠號 database database name 資料庫名稱 user mysql usern...
課程表資料庫 mysql 課程表資料庫 mysql
課程表資料庫 mysql 雲伺服器 elastic compute service,簡稱ecs 是阿里雲提供的效能卓越 穩定可靠 彈性擴充套件的iaas infrastructure as a service 級別雲計算服務。雲伺服器ecs免去了您採購it硬體的前期準備,讓您像使用水 電 天然氣等公...