【Mysql】-5 事务

  • 事务概述
  • 事务提交
  • 事务回滚

事务概述

事务是只用户定义的一系列数据库更新、修改操作,这些操作要么都不执行,要么都执行,是一个不可分割的逻辑工作单元。(这里的操作指的是一系列修改操作:insert、 delete 、update)

特点:

  • 原子性:要么完成,要么不完成。操作失败则整个事务回滚,恢复事物开始前的状态;如果成功,则全部执行
  • 一致性:如果成功,则全部执行,数据库变化将生效。回滚前和回滚后,数据库均处于一致性状态。
  • 隔离性:多用户并发对数据库进行访问时,要保证所有并发事务认为只有自己在使用系统,不为其他事务的操作所干扰。
  • 持久性:所有事务的改变都是永久的。

在进行事务的过程中,为了使sql能够执行的修改操作永久保存在数据库中,事务处理结束时必须由用户提交确定——使用commit语句,事务操作才会成功执行。否则重新进入系统后不会有数据更新。

接下来看一个事务的操作实例。

先看一下原始表:

use test1;
select * from teacher limit 5;

t_id t_name
01 张三
02 李四
03 王五

在原始表上我们需要对教师表插入两条信息:

delimiter //    # 修改结束符号为//
start transaction;    # 事务开始
insert into teacher values('04','卢88');  
insert into teacher values('05','闻77');  #插入两条数据
commit;   # commit命令可以有效执行事务并更新
//

查看执行效果:

select * from teacher;
//

t_id t_name
01 张三
02 李四
03 王五
04 卢88
05 闻77

事务的回滚

在事务处理过程中,如果事务尚未提交时发现某些操作不合理,可以通过事务的回滚来取消当前事务,把事务恢复到事务处理前的状态。

执行 “ rollback; ” 操作,即可回滚至事务开始之前。

你可能感兴趣的:(【Mysql】-5 事务)