数据库--事务

事务

事务由一个或多个SQL语句组成,是进行数据库操作的基本单位。

事务的基本属性

一个事务具有以下四种属性:

  1. 原子性(atomicity)
    事务的操作具有原子性,要不全部执行,要不全部不执行。
  2. 一致性(consistency)
    事务一致性指的是事务执行的结果数据库从一种正确数据状态变迁为另一种数据状态。
    例如:用户A向用户B转账,用户A操作成功,用户B失败,这会造成数据不一致。一致性就是保证不论业务操作是否成功,A,B账户的存款总额是不变的。
  3. 隔离性(isolation)
    多个事务并发执行时,一个事务的执行不会被其他事务干扰,各个并发事务之间不会相互影响。
  4. 永久性(durability)
    一个事务一旦提交,数据会被持久保存。

事务语句

事务操作包括事务提交、事务回滚、事务撤销和设置保存点等操作。

相关语句:

  • BEGIN/START TRANSACTION ,事务开始语句
  • ROLLBACK [to name] ,事务回滚,可以回滚到某一个保存点
  • COMMIT ,事务提交语句
  • SAVEPOINT name ,事务保存点语句

实例:

BEGIN;
create table student(id int,name varchar(30),age int);
SAVEPOINT create_table;
insert into student VALUES(1,'mike',22);
SAVEPOINT insert1;
insert into student VALUES(2,'jack',2);
ROLLBACK TO insert1;
COMMIT;

回滚到插入第一条语句后,查询表结果如下:
在这里插入图片描述

BEGIN;
create table student(id int,name varchar(30),age int);
SAVEPOINT create_table;
insert into student VALUES(1,'mike',22);
SAVEPOINT insert1;
insert into student VALUES(2,'jack',2);
ROLLBACK;
COMMIT;

此时全部回滚,查询student表时会报错,显示此表不存在。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值