文章目录
TCL(transaction control language):事务控制语言。事务指一个或者一组sql语句组成的一个执行单元,这个执行单元要么全部执行,要么全部不执行。
一.事务的分类
隐式事务:事务没有明显的开启和结束的标记,eg:insert、update、delete语句
显示事务:事务具有明显的开启和结束的标记,premise:必须先设置自动提交功能为禁用 set autocommit = 0;
二.事务的属性
♥事务的属性:acid
1.atomicity:原子性:指事务是一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。
2.consistency:一致性:事务必须使数据库从一个一致性状态变换到另一个一致性状态。
3.isolation:隔离性:一个事务的执行不能被其他事务干扰。
4.durability:持久性:一个事务一旦被提交,它对数据库中数据的改变就是永久性的。
三.事务的创建
语法:
step1.开启事务 :
set autocommit = 0;
[start transaction;]
step2.编写事务中的sql语句:
(select insert update delete)
step3.结束事务:
commit;#提交事务
rollback (to savepoint的名字);#回滚事务
1.创建
#创建一个事务,向idol_id中插入一行新记录
SET autocommit = 0;
start transaction;#step1
INSERT INTO idol_id VALUES(4,'lyf'); #step2
COMMIT; #step3
2.rollback
#查看rollback的效果ÿ