数据库事物复习

news2024/11/15 23:05:09

事务

比如说将张三的银行账户拿出一千给李四,首先需要查询张三的账户余额,扣除1000,然后如果给李四加上1000的过程中出现异常会回滚事务,临时修改的数据会回复回去。

-- 1. 查询张三账户余额
select * from account where name = '张三';
-- 2. 将张三账户余额-1000
update account set money = money - 1000 where name = '张三';
-- 此语句出错后张三钱减少但是李四钱没有增加
模拟sql语句错误
-- 3. 将李四账户余额+1000
update account set money = money + 1000 where name = '李四';
-- 查看事务提交方式
SELECT @@AUTOCOMMIT;
-- 设置事务提交方式,1为自动提交,0为手动提交,该设置只对当前会话有效
SET @@AUTOCOMMIT = 0;
-- 提交事务
COMMIT;
-- 回滚事务
ROLLBACK;
-- 设置手动提交后上面代码改为:
select * from account where name = '张三';
update account set money = money - 1000 where name = '张三';
update account set money = money + 1000 where name = '李四';
commit;

操作方式二:

开启事务:
START TRANSACTION 或 BEGIN TRANSACTION;
提交事务:
COMMIT;
回滚事务:
ROLLBACK;
start transaction;
select * from account where name = '张三';
update account set money = money - 1000 where name = '张三';
update account set money = money + 1000 where name = '李四';
commit;

出现错误就执行rollback,反之则commit提交

四大特性ACID

  • 原子性(Atomicity):事务是不可分割的最小操作但愿,要么全部成功,要么全部失败
  • 一致性(Consistency):事务完成时,必须使所有数据都保持一致状态
  • 隔离性(Isolation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行
  • 持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的

一致性的理解,执行完程序后张三和李四的余额之和是不变的 

隔离性的理解,有若干个并发事务,事物a和事物b同时在操作数据库,两个事物互不影响。

并发事务 

 脏读:事物B把一条数据给改了 还没commit,事物A读到了事物B改变后的数据

不可重复读:事物A先查询一遍数据,事物B把数据更改了并commit提交事物了,事物A再查询,发现数据更改了。

幻读:事物A查询id为3的数据发现没有,此时事物B插入了id为3的数据并commit提交了,事物A插入id为3的数据发现数据已经存在,但是再次查询的时候还是没有这个数据,出现了幻觉。

 并发事务隔离级别:

分别对应读取未提交内容读取提交内容可重读可串行化

  • √表示在当前隔离级别下该问题会出现
  • Serializable 性能最低;Read uncommitted 性能最高,数据安全性最差
查看事务隔离级别:
SELECT @@TRANSACTION_ISOLATION;
设置事务隔离级别:
SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE };
SESSION 是会话级别,表示只针对当前会话有效,GLOBAL 表示对所有会话有效

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1465019.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

OpenAI Sora模型,官方技术文档翻译

技术报告地址:https://openai.com/research/video-generation-models-as-world-simulators 本技术报告的重点是(1)将所有类型的视觉数据转化为统一表示,从而能够大规模训练生成模型的方法;以及(2&#xff0…

互联网广告投放与IP地理位置定位

随着互联网的发展和普及,互联网广告投放成为各行业推广营销的重要方式之一。而结合IP地理位置定位技术,可以实现精准定向,提高广告投放的效果和精准度。IP数据云将探讨互联网广告投放与IP地理位置定位的关系,分析其优势和应用场景…

基于springboot+vue的智能物流管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

设计模式-创建型模式-原型模式

原型模式(Prototype Pattern):使用原型实例指定创建对象的种类,并且通过克隆这些原型创建新的对象。原型模式是一种对象创建型模式。原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节…

Nginx知识笔记

一、前言 首先,我们来看一张关于正向代理和反向代理的图片 简单理解正向代理和反向代理的概念: 正向代理:在客户端配置代理服务器(和跳板机功能类似,比如公司很多机器需要通过跳板机才允许登录,正向代理的典型用途是…

npmjs官网(查询依赖包)

npmjs官网 可以方便的查看依赖包的安装、使用说明及相关注意事项等。 以wechat-http为例:

1.CSS单位总结

CSS 单位总结 经典真题 px 和 em 的区别 CSS 中的哪些单位 首先,在 CSS 中,单位分为两大类,绝对长度单位和相对长度单位。 绝对长度单位 我们先来说这个,绝对长度单位最好理解,和我们现实生活中是一样的。在我们…

rabbitmq知识梳理

一.WorkQueues模型 Work queues,任务模型。简单来说就是让多个消费者绑定到一个队列,共同消费队列中的消息。 当消息处理比较耗时的时候,可能生产消息的速度会远远大于消息的消费速度。长此以往,消息就会堆积越来越多&#xff0c…

男性美颜SDK解决方案,专属男性美化新体验

随着科技的发展,美颜技术已广泛应用于摄影、社交、直播等领域,满足了用户对美的追求。然而,传统的美颜算法往往更偏向于女性用户,忽视了男性用户对于自然、真实美的需求。美摄科技针对这一市场痛点,推出了专为男性设计…

APP的UI自动化demo(appium+java)

文章目录 appium连接手机java代码实现-第一版第二版-接入testng和隐式等待显示等待 appium连接手机 准备工作 1、查看连接手机模拟器是否连接成功,获取设备名称 执行命令:adb devices 2、查看android内核版本号—>paltformVersion 执行命令&#xf…

NLP 使用Word2vec实现文本分类

🍨 本文为[🔗365天深度学习训练营学习记录博客 🍦 参考文章:365天深度学习训练营 🍖 原作者:[K同学啊 | 接辅导、项目定制]\n🚀 文章来源:[K同学的学习圈子](https://www.yuque.com/…

某胜物流软件三个接口sql注入漏洞(附漏洞检测脚本)

免责声明 文章中涉及的漏洞均已修复,敏感信息均已做打码处理,文章仅做经验分享用途,切勿当真,未授权的攻击属于非法行为!文章中敏感信息均已做多层打马处理。传播、利用本文章所提供的信息而造成的任何直接或者间接的…

云呐矿井智能化运维工是什么?智能机器人运维岗位

煤矿智能运维是指利用先进的信息技术和自动控制,在煤矿生产过程中对煤矿设备进行监测、维护和管理。其职责和工作任务主要包括: 工作环境:  面对复杂的地质条件和极端的气候环境,煤矿智能运维工程师往往需要在地下煤矿、监测中心等环境中工作。因此&a…

2024年【陕西省安全员C证】模拟考试题库及陕西省安全员C证操作证考试

题库来源:安全生产模拟考试一点通公众号小程序 陕西省安全员C证模拟考试题库考前必练!安全生产模拟考试一点通每个月更新陕西省安全员C证操作证考试题目及答案!多做几遍,其实通过陕西省安全员C证模拟考试题库很简单。 1、【多选题…

TS04——四通道灵敏度自校准电容触摸控制电路,可通过外部电容可独立调节灵敏率和外部电阻调节内部频率,广泛应用于移动设备,门钥匙锁矩阵的应用

TS04是一块四通道灵敏度自校准电容触摸控制电路。 主要特点: ● 灵敏度 自动校准的电容触摸电路 ● 并行接口 ● 通过外部电容可独立调节灵敏率 ● 通过外部电阻调节内部频率 ● 嵌入高频的噪音消除电路 ● 电流工作小 ● 封装形式: SOP14、 16QFN 应用&#xff1a…

关于在分布式环境中RVN和使用场景的介绍4

简介 在前面的文档中,我们介绍了RVN的概念,通过RVN可以解决的某类问题和使用技巧,以及处理RVN的逻辑的具体实现。在本文中,我们将要介绍关于如何使用RVN解决另一种在分布式系统中常出现的问题。 问题 假设我们创建了一个servic…

注意考场细节 多拿十分不香吗?

专转本考试是专科毕业生继续升学的“本科通道”,也是千千万万专科学子的第二次高考。若是因为一些细节问题,而耽误了考试,那真的很得不偿失。 1.待发卷时应该做些什么? 提早15分钟进入考场,看一看教室四周,熟悉-下陌生…

《剑指Offer》笔记题解思路技巧优化_Part_6

《剑指Offer》笔记&题解&思路&技巧&优化_Part_6 😍😍😍 相知🙌🙌🙌 相识😢😢😢 开始刷题🟡1.LCR 168. 丑数—— 丑数🟢2. LCR 16…

Vue样式绑定

1. 绑定 HTML class ①通过class名称的bool值判断样式是否被启用 <template><!--通过样式名称是否显示控制样式--><div :class"{ haveBorder: p.isBorder, haveBackground-color: p.isBackgroundcolor }">此处是样式展示区域</div><br /…

小猫咪不喝水怎么办?主食冻干、主食罐头喂养远离缺水小猫

小猫咪不喝水怎么办&#xff1f;是否可以忽视它不喝水&#xff1f;它们会不会在口渴、缺水的时候自动去找水喝呢&#xff1f;猫的祖先是来自沙漠的猫科动物&#xff0c;在沙漠中生存时几乎找不到水源&#xff0c;因此它们进化出了“低渴感”&#xff0c;同时它们的肾脏也具备了…