初識MySQL(9)管理事務處理

1.幾個相關概念

事務:指一組SQL語句。
回退:指撤銷指定SQL語句的過程。
提交:指將未存儲的SQL語句結果寫入數據庫表中。
保留點:指事務處理中發表的臨時佔位符,可以對它發佈回退。

2.控制事務處理

管理事務處理的關鍵在於將SQL語句分塊,並明確規定數據何時應該回退,何時不應該回退。

使用ROOLBACK:

SELECT * FROM ordertotals;  這時候表不爲空
START TRANSACTION;
DELETE FROM ordertotals;
SELECT * FROM ordertotals;  這時候表爲空
ROLLBACK;
SELECT * FROM ordertotals;   這時候表不爲空

這個例子首先查詢了ordertotals表的所有內容。然後通過START TRANSACTION表示一個事務的開始:刪除ordertotals的所有行,再查詢表的所有行,驗證表爲空。這時候再用一條ROLLBACK語句實現回退,最後一條語句的結果顯示錶不爲空

ROLLBACK語句用來管理INSERT,UPDATE和DELETE語句,不能用於SELECT,CREATE與DROP。

使用COMMIT:
一般在我們對數據庫表進行處理的過程中都是“隱含提交”,即不用明確地出現COMMIT語句,就會將我們的操作結果直接寫入數據庫表中。但是在事務處理這一塊,我們必須使用COMMIT來實現對結果的提交:

START TRANSACTION;
DELETE FROM orderitems WHERE order_num = 20010;
DELETE FROM orders WHERE order_num = 20010;
COMMIT;

這個例子從系統中的兩個表刪除編號爲20010的數據,因爲涉及到兩個表的操作,要保證一致性,我們使用了事務處理的方式,即只有在兩個表都刪除成功的情況下才執行COMMIT操作,修改數據庫表,而當只有一條語句成功或者都不成功的情況下不執行操作。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章