事務的定義:邏輯上一組操作,這組操作的各個單元,要麼都不成功,要麼都成功,這個特性就是事務(通常操作量較大、複雜度較高時)。
注意:mysql資料庫支援事務,但是必須要求是innodb儲存引擎。
比如說,在人員管理系統中,你刪除乙個人員,你即需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱,文章等等,這樣,這些資料庫操作語句就構成乙個事務!
使用:
(1) 執行sql語句之前,先執行start transaction;
(2) 執行語句。
結果:
(1) 全部成功,sql語句操作的影響提交到資料庫中,committ;
(2) 失敗,資料採取rollback(回滾)操作,將之前的資料庫操作刪除。
比如:
//先初始化乙個**
mysql>create table bank
mysql>(name varchar(20),
mysql>money decimal(5,1))
mysql>engine=innodb
mysql>charset=utf8;
//建立表bank
mysql>insert into bank values('shaotuo',4000),("laowang",5000);
//給表輸值
//開始乙個事務
mysql>start transaction;
mysql>update bank set money=money+500 where name='shaotuo';
mysql>update bank set moey=money-500 where name='laohu';
//出現執行事務失敗,執行rollback(回滾)操作,將之前的資料庫操作刪除
mysql>roolback;
mysql>update bank set money=money+500 where name='shaotuo';
mysql>update bank set money=money-500 where name='laohu';
//事務執行成功
mysql>commit;
Mysql事務基礎
1.事務 transaction 可以是一句sql語句,也可以是一段sql語句。2.mysql中事務預設自動提交 commit 3.事務回滾 rollback 在該事務沒有提交的情況下,回退到該事務執行之前。如果該事務已經被提交,則無法回滾。4.避免事務自動提交的兩種辦法 把資料庫設定成非自動提交。...
mysql事務本質 MySQL基礎事務
事務的用法 l 開啟事務 start transaction l 執行sql操作 普通sql操作 l 提交 回滾 commit rollback 注意 l 建表的時候,選擇 innodb引擎才支援事務 l 預設情況下,mysql是自動提交事務,每次執行乙個 sql 語句時,如果執行成功,就會向資料庫...
Mysql基礎 索引 事務
索引用於快速找出在某個列中有一特定值的行,不使用索引,mysql必須從第一條記錄開始讀完整個表,直到找出相關的行,表越大,查詢資料所花費的時間就越多,如果表中查詢的列有乙個索引,mysql能夠快速到達乙個位置去搜尋資料檔案,而不必檢視所有資料,那麼將會節省很大一部分時間。例如 有一張person表,...