事物的定义
定义:
事务(transaction)是为保障数据操作可靠而独立执行的逻辑单元
事务的特性
事务必须具备以下四个特性,简称ACID特性
- 原子性Atomicity:事务是不可分割的
- 一致性 Consistency:事务处理前后数据保持一致
- 隔离性 Isolation:事务处理必须是独立的彼此隔离
- 持久性 Durability:事务对数据库的修改被永久保存
事务提交方式
- 手动提交事务
- 自动提交事务
流程
管理事务的语句
开启事务 BEGIN
提交事务 commit
回滚事务 rollback
如何使用手动提交事务
转账过程
#开启事务(指定事务从此处开始)
BEGIN;
#转账:张三的账户少1000元
UPDATE my_account SET money = money-1000 WHERE name='张三';
#李四的账户多1000元
UPDATE my_account SET money=money+1000 WHERE name='李四';
#事务提交(指定事务在此结束)
COMMIT;
注:
事务前后数据总和一致,保证数据一致性
自动提交事务
查看事务状态
show variables like "autocommit";
如何设置
关闭自动提交
set autocommit = Off;
或set autocommit = 0;
开启自动提交
set autocommit =On
或set autocommit = 1;
小练:
需求分析
使用事务向admin表一次添加三条数据
最终效果如下:
思路分析
原始数据查询
开启手动提交事务
执行三条添加数据的sql语句
提交事务
查看数据添加成功