初识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操作,修改数据库表,而当只有一条语句成功或者都不成功的情况下不执行操作。

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