sql 锁&事务

本文详细介绍了SQL中的事务特性,包括ACID属性、自动提交和显示事务的使用。同时,探讨了并发操作可能导致的问题,如脏读、不可重复读和幻读,并解释了事务隔离级别的作用。此外,还讲解了锁模式,如共享锁、排他锁、更新锁以及意向锁,以及如何避免死锁。最后提到了快照隔离和键范围锁在防止并发问题中的应用。
摘要由CSDN通过智能技术生成

事务

事务是执行某个任务的不可分割的一系列操作,具有四个属性(ACID)

  • 原子性
  • 一致性
  • 隔离性
  • 持久性

自动提交事务

默认一条语句为一个事务,成功执行完成自动提交,失败自动回滚。

显示事务

使用 BEGIN TRANSACTION 明确指定事务开始

  • begin transaction:开始事务。
  • commit transaction:提交事务。
  • rollback transaction:回滚事务。
  • save transaction:事务保存点。即事务回滚时,可以指定回滚到保存点,而不进行全部回滚。

Example:

BEGIN TRAN
	SELECT * FROM class_info;
	UPDATE class_info SET cla_teachId=11 WHERE cla_id=1;
	SAVE TRAN a
	UPDATE class_info SET cla_teachId=12 WHERE cla_id=1;
	SELECT * FROM class_info;
	ROLLBACK TRAN a
	SELECT * FROM class_info;
COMMIT

在这里插入图片描述

BEGIN TRY

END TRY

BEGIN CATCH

END CATCH

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值