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;    #回滚到指定的回滚点

 

作者:奇

出处:https://www.cnblogs.com/fanqisoft/p/10698620.html

版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。

posted @   SpringCore  阅读(328)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示