MySQL(五)—— TPL:数据事务管理语言 Transaction Processing Language

TPL:数据事务管理语言 Transaction Processing Language

1、start transaction;开启手动事务
开启后自动提交事务会暂时失效,且对数据库的增删改sql语句的数据不会直接存入到数据库, 而示保存在事务管理日志中,查询也是首先查询事务管理日志里面是否存在该数据,如果存在直接显示,不存在则再去数据库中查找。
一旦手动提交事务后,再次增删改则会自动提交事务。

2、commit关键字
事务提交 等到commit指令来的时候再写入到数据库。
autocommit关键字
MySQL自动提交事务系统变量值,默认状态为on,默认值为1,。一旦有增删改操作查操作,都会自动执行这个命令将数据写入到数据库

3、rollback关键字:回滚。
在事务管理日志里面的数据,使我们不需要向数据库提交的事务,这样的事务系统会自动执行rollback指令销毁;
设置回滚点:为了可以rollback到指定回滚点位置,一个事务可以设置多个回滚点:
语法:savepoint 回滚点名字;
在这里插入图片描述
rollback到回滚点位置:rollback to 回滚点位置 回滚到指定位置之后事务管理日里面的数据不会直接自动提交,必须要等commit指令。
在这里插入图片描述

4、事务的特性:ACID
(1)原子性:一个事务区间之内是一个整体,不可分割;
(2)一致性:建立在原子性之上,在事务执行的前后,数据库的数据保持一致, 要么数据全部更新,要么数据全部销毁;
(3)隔离性:当事务开启之后,其余的sql指令不会影响该事务区间之内的sql;
(4)永久性:当事务管理中的数据完全提交到数据库之后,数据将永久保存生效, 若是回滚,数据将全部失效。

猜你喜欢

转载自blog.csdn.net/weixin_43592512/article/details/89644549