mysql事物控制语言tcl_MySql的事务控制(TCL语言)

⒈事务

一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。

⒉事务的特性(ACID)

1.原子性(Atomicity):一个事务不可再分割,要么都执行要么都不执行。

2.一致性(Consistency):一个事务执行会使数据从一个一致状态切换到另外一个一致状态。

3.隔离性(Isolation):一个事务的执行不受其它事务的干扰。

4.持久性(Durability):一个事务一旦提交,则会永久的改变数据库的数据。

⒊事务的创建

1.隐式事务:事务没有明显的开启和结束的标记,例如insert、update和delete语句

2.显式事务:事务具有明显的开启和结束的标记。前提,必须先设置自动提交功能为禁用。set autocommit = 0;

显示当前事务状态 show variables like 'autocommit';

⒋事务过程

①开启事务

1 set autocommit = 0;2 start transaction; #可选

②编写事务中的sql语句(select、insert、update、delete)

1 语句1;2 语句2;3 ....

③结束事务

1 commit; #提交事务2 rollback; #回滚事务

⒌事务的隔离级别

级别

脏读

不可重复读

幻读

read uncommitted

读未提交(数据)

read committed

读已提交(数据)

repeatable read

可重复读

serializable

串行化

MySql中默认第三个隔离级别:repeatable read(可重复读)

Oracle中默认第二个隔离级别:read committed(读已提交)

查看隔离级别:select @@tx_isolation

设置隔离级别:set session|global transaction isolation level

⒍SAVEPOINT回滚点

在sql中设置

1 语句1;2 savepoint a; #设置回滚点3 语句2;4 rollback to a; #回滚到指定的回滚点

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值