MYSQL入门学习之十五:事务处理的基本操作
事务处理(transaction processing)可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么完全不执行。
但是并非所有的数据库引擎都支持事务处理。MyISAM和InnoDB是两种最常使用的引擎。前者不支持明确的事务处理管理,而后者支持。
一、几个事务处理相关的术语
事务(transaction)指一组SQL语句;
回退(rollback)指撤销指定SQL语句的过程;
提交(commit)指将未存储的SQL语句结果写入数据库表;
保留点(savepoint)指事务处理中设置的临时占位符(placeholder),可以对它发布回退(与回退整个事务处理不同)。
二、控制事务处理
管理事务处理的关键在于将SQL语句组分解为逻辑块,并明确规定数据何时应该回退,何时不应该回退。
1、开始事务
START TRANSACTION;
使用如上语句标识事务的开始;
2、使用ROLLBACK
ROLLBACK命令用来回退(撤销)MySQL语句:
下面的示例操作,首先开始一个事务,然后删除了表test_inn中的所有内容,并查看表中的内容,显示表已被清空。但执行ROLLBACK回退事务后,重新查询表中的数据。表中的数据依然还在:
mysql> start transaction; mysql> delete from test_inn; mysql> commit;当COMMIT或ROLLBACK语句执行后,启动的事务会自动关闭。