【MySql】7.事务处理的基本操作
2014-05-12 11:55
330 查看
事务处理(transaction processing)可以用来维护数据库的完整性,它保证成批的MySQL操作要么完全执行,要么完全不执行。但是并非所有的数据库引擎都支持事务处理。MyISAM和InnoDB是两种最常使用的引擎。前者不支持明确的事务处理管理,而后者支持。
使用如上语句标识事务的开始;
一、几个事务处理相关的术语
事务(transaction)指一组SQL语句;回退(rollback)指撤销指定SQL语句的过程;提交(commit)指将未存储的SQL语句结果写入数据库表;保留点(savepoint)指事务处理中设置的临时占位符(placeholder),可以对它发布回退(与回退整个事务处理不同)。二、控制事务处理
管理事务处理的关键在于将SQL语句组分解为逻辑块,并明确规定数据何时应该回退,何时不应该回退。1、开始事务
START TRANSACTION;使用如上语句标识事务的开始;
2、使用ROLLBACK
ROLLBACK命令用来回退(撤销)MySQL语句:下面的示例操作,首先开始一个事务,然后删除了表account中的所有内容,并查看表中的内容,显示表已被清空。但执行ROLLBACK回退事务后,重新查询表中的数据。表中的数据依然还在:start transaction;delete from account;select * from account;rollback;select * from account;show create table account;注意:上例中表account使用的是InnoDB引擎,若一个使用MyISAM引擎的表执行如上操作,则即使ROLLBACK后,可以发现,数据仍然被实实在在的清空。3、使用COMMIT
一般的MySQL语句都是隐含提交(implicit commit)的,即提交(写或保存)操作是自动进行的。但是,在事务处理块中,提交不会隐含进行。为进行明确的提交,需要使用COMMIT语句。示例:start transaction;delete from account;commit;当COMMIT或ROLLBACK语句执行后,启动的事务会自动关闭。4、使用保留点
为了支持回退部分事务处理,必须在事务处理块中合适的位置放置保留点。创建保留点:SAVEPOINTsap_name;回退至保留点:ROLLBACK TOsap_name;释放保留点:RELEASEsp_name;保留点也可以在事务处理完成(执行一条ROLLBACK或COMMIT)后自动释放。5、更改默认的提交行为
SET autocommit=0;autocommit标志是针对每个连接而不是服务器的。相关文章推荐
- MYSQL入门学习之十五:事务处理的基本操作
- MySQL 基础学习二 多表的基本操作/事务
- 解析php mysql 事务处理回滚操作(附实例)
- php基础系列:从用户登录处理程序学习mysql扩展基本操作
- mysql 事务处理,事务操作,JDBC中事务的使用,事务的sql语句,
- Entity Framework 学习初级篇7--基本操作:增加、更新、删除、事务,处理并发问题
- php基础系列:从用户登录处理程序学习mysql扩展基本操作
- mySql事务_ _Java中怎样实现批量删除操作(Java对数据库进行事务处理)?
- java 操作mysql 事务处理
- 解析php mysql 事务处理回滚操作(附实例)
- Mysql基本命令之事务处理
- 解析php mysql 事务处理回滚操作
- 解析php mysql 事务处理回滚操作(附实例)
- php基础系列:从用户登录处理程序学习mysql扩展基本操作
- 解析php mysql 事务处理回滚操作(附实例)
- MySQL的事务的处理
- MySQL(十三)事务处理和字符集
- 利用C#事务处理对数据库进行多重操作
- Linux下MySQL 数据库的基本操作
- mysql基本操作