5、TCL语言
5、TCL语言
Transaction Control Language 事务控制语言
5.1事务
定义:一组SQL语句组成的单元,这个单元要么全部执行,要么全都不执行
特点:ACID
A原子性:一个事务不可再分割
C一致性:一个事务执行会从一个一致状态切换到另一个一致状态
I 隔离性:一个事务的执行不受其他事务的干扰
D持久性:一个事务一旦提交,会永久改变数据库数据
5.2事务的创建
隐式事务:事务没有明显的开启和结束的标记
显示事务:事务有明显的开启和结束的标记,前提是必须设置自动提交功能set autcommit=0;
set autcommit=0; #开启事务 start transaction; sql 语句; commit; #提交事务 rollback; #回滚事务
5.3事务的隔离级别
脏读 不可重复读 幻读
read uncommitted 会出现 会出现 会出现
read committed 不会出现 会出现 会出现
repeatable read 不会出现 不会出现 会出现
seializable 不会出现 不会出现 不会出现
查看隔离级别:
select @@tx_isolation;
设置隔离级别:
set session|global transaction isolation level 隔离级别;
5.4savepoint 保存点的演示(一般与rollback使用)
例:
set autcommit=0; start transaction; delete from account where id=25; #删除一组数据 savepoint a; #设置保存点 delete from account where id=28; #删除一组数据 rollback to a; #回滚到保存点a
浙公网安备 33010602011771号