事务就是一组DML语句组成,这些语句在逻辑上存在相关性,这一组DML语句要么全部成功,要么全部失败,是 一个整体。MySQL提供一种机制,保证我们达到这样的效果。事务还规定不同的客户端看到的数据是不相同的。
一、 事务基本操作:
以银行转账为例考虑事务:
1.创建测试表:创建一个银行账户(编号,姓名,余额)
create table account(
id int primary key,
name varchar(50) not null default '',
balance decimal(10, 2) not null default 0.0
);
2.开始一个事务
start transcation;
3.设置保存点(这里是设置保存点进行回滚的,但是不设置保存点也可进行回滚,见https://mp.youkuaiyun.com/postedit/83717036)
savepoint aa(保存点名称);
4.进行操作
insert into account values(1,'Jack',100);
5.查询表当前情况
select *from account;
6.进行回滚并在此查询结果