MySQL学习之事务

来源:互联网 发布:vb九九乘法表代码简单 编辑:程序博客网 时间:2024/06/05 13:34

1.事务是由一步或几步数据库操作序列组成的逻辑执行单元,这一系列的操作要么全部执行,要么全部放弃执行。

2。数据库的事务由下列语句组成:

(1)一组DML语句(数据操作语句insert,update,delete)

(2)一个DDL语句(数据定义语句create,drop,alter,)

(3)一个DCL语句(数据控制语句grant,revoker)

DDL和DCL语句最多只能出现一个,因为它们会导致事务立即提交

3.当事务所包含的数据库操作全部执行成功后,应该提交(commite)事务,使修改永久的生效。提交事务有两种方式:

(1)显式提交:commite

(2)隐式提交:执行DDL或DCL

4.当事务所包含的数据库中任一操作失败时,应该回滚(rollback)事务,使事务中所作的修改全部失效。回滚事务也有两种方式:

(1)显式回滚:rollback

(2)隐式回滚:系统错误或强行退出

5.MySQL默认是关闭事务的,用户在控制台输入一条DML语句,这条DML语句就会保存在数据库中。为了打开事务支持,需要显式调用:set autocommit={0|1}:0就是开启事务

6.在命令行输入set autocommit=0,就会开启事务,这样在命令窗口输入的命令就不会立即生效,后续的命令都属于该事务,除非进行了提交事务或回滚事务。

如果不想让整个命令窗口都关闭自动提交,只是想临时开始事务,那么可以使用begin命令,这样就可以临时开启一个事务,想要结束时可以进行提交事务(commit)

7.另外,MySQL还提供了savepoint来设置中间点,通过设置中间点可以让事务回滚到指定的中间点

0 0
原创粉丝点击