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

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

1、数据事务管理关键字

(1)开启手动事务 start transaction;

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

(2)commit 关键字

  • commit 表示事务提交,当 commit 指令来的时候,积攒的事务会进行提交,写入到数据库。

(3)autocommit 关键字
MySQL自动提交事务系统变量值,默认状态为on,默认值为1,。一旦有增删改操作查操作,都会自动执行这个命令将数据写入到数据库

(4)rollback关键字

  • rollback 表示事务回滚,在事务管理日志里面的数据,是我们不需要向数据库提交的事务,这样的事务系统会自动执行 rollback 指令销毁;
  • 设置回滚点:为了可以 rollback 到指定回滚点位置,一个事务可以设置多个回滚点,然后通过回滚到指定的回滚点完成对应事务的回滚销毁。
  • 语法:savepoint 回滚点名字;
    在这里插入图片描述
  • rollback 到回滚点位置:rollback to 回滚点位置,回滚到指定位置之后事务管理日里面的数据不会直接自动提交,必须要等 commit 指令。
    在这里插入图片描述
    4、事务的特性:ACID
    (1)原子性:一个事务区间之内是一个整体,不可分割;
    (2)一致性:建立在原子性之上,在事务执行的前后,数据库的数据保持一致, 要么数据全部更新,要么数据全部销毁;
    (3)隔离性:当事务开启之后,其余的sql指令不会影响该事务区间之内的sql;
    (4)永久性:当事务管理中的数据完全提交到数据库之后,数据将永久保存生效, 若是回滚,数据将全部失效。
发布了40 篇原创文章 · 获赞 0 · 访问量 343

猜你喜欢

转载自blog.csdn.net/baidu_27414099/article/details/104432783