番外:MySQL的一些事务处理

前言

因为前天没更新,多补一更,简单介绍一下后端数据库MySQL的事务处理

什么是事务处理

事务(Transaction):事务是一组SQL语句的执行单元,这些语句被视为一个单独的工作单元。事务的主要目的是保证数据库操作的原子性,即这些操作要么全部执行,要么全部不执行

简单来说,事务是用来保证数据库的一致性,完整性的,关于事务处理我们需要提到ACID性

A.原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成。如果事务中任何一个操作失败,整个事务都会回滚

C.一致性(Consistency):事务必须使数据库从一个一致的状态转换到另一个一致的状态,确保数据符合所有预设则

I.隔离性(Isolation):并发执行的事务之间是相互隔离的,一个事务的执行不会影响其他事务的执行

D.持久性(Durability):一旦事务提交,其对数据库的修改是永久性的,即使系统发生故障,修改也不会丢失

事务控制语句

BEGIN 或 START TRANSACTION:用于显式地开始一个事务

COMMIT:提交事务,将事务中的所有更改永久保存到数据库

ROLLBACK:回滚事务,撤销所有未提交的更改,将数据库恢复到事务开始之前的状态

SAVEPOINT:在事务中设置保存点,以便在需要时回滚到特定的点

SET TRANSACTION:设置事务的隔离级别

自动提交模式

MySQL默认使用自动提交模式(autocommit),即每个SQL语句都会自动提交事务。要使用显式事务控制,需要关闭自动提交模式

调整语句

SET AUTOCOMMIT = 0;

或者使用 BEGIN 或 START TRANSACTION 来开始一个事务

事务的隔离级别

什么是事务隔离级别事务的隔离级别(Transaction Isolation Levels)是数据库管理系统(DBMS)中用于控制并发事务之间相互影响的机制。隔离级别决定了事务在并发执行时如何处理数据的一致性和完整性问题。不同的隔离级别提供了不同程度的保护,以防止并发事务之间的数据冲突和异常

MySQL支持四种事务隔离级别:

READ UNCOMMITTED:允许脏读、不可重复读和幻读

READ COMMITTED:防止脏读,但允许不可重复读和幻读

REPEATABLE READ(默认):防止脏读和不可重复读,但允许幻读

SERIALIZABLE:提供最高的隔离级别,防止脏读、不可重复读和幻读

事务的使用场景

事务通常用于需要保证数据一致性的复杂操作,例如银行转账、库存管理、订单处理等。在这些场景中,任何一个步骤的失败都可能导致数据不一致,因此需要使用事务来确保所有操作要么全部成功,要么全部回滚

总结

这篇番外笔记已经被你看完了

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

介绍和安装及数据类型

1、介绍和安装 1.1、简介 ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库(DBMS),使用C语言编写,主要用于在线分析处理查询(OLAP),能够使用SQL查询实时生成分析数据报告。 OLAP&…

【Pikachu】越权访问实战

所谓理想,只是同时拥有实力的人才能说的“现实”。所谓弱就是一种罪。 1.Over Permission概述 如果使用A用户的权限去操作B用户的数据,A的权限小于B的权限,如果能够成功操作,则称之为越权操作。 越权漏洞形成的原因是后台使用了…

KubeVirt入门介绍

KubeVirt入门介绍 KubeVirt 是一个开源项目,旨在通过 Kubernetes 管理虚拟机(VM),使得 Kubernetes 不仅支持容器化工作负载,还支持虚拟机的部署和管理。这种双重支持的目标是提供一个统一的云原生平台,让开…

分布式----Ceph部署

目录 一、存储基础 1.1 单机存储设备 1.2 单机存储的问题 1.3 商业存储解决方案 1.4 分布式存储(软件定义的存储 SDS) 1.5 分布式存储的类型 二、Ceph 简介 三、Ceph 优势 四、Ceph 架构 五、Ceph 核心组件 #Pool中数据保存方式支持两种类型&…

智慧仓储物流可视化平台

通过图扑 HT 对仓储与物流流程进行动态可视化管理。实时跟踪库存状态和物流路径,优化资源配置与调度,提升运营效率及准确性,支持全流程决策优化及管理。

万字长文解读深度学习——卷积神经网络CNN

推荐阅读: 卷积神经网络(CNN)详细介绍及其原理详解 CNN笔记:通俗理解卷积神经网络 文章目录 🌺深度学习面试八股汇总🌺主要组件输入层卷积层 (Convolutional Layer)批归一化层(Batch Normalizat…

100+SCI科研绘图系列教程(R和python)

科研绘图系列:箱线图加百分比点图展示组间差异-CSDN博客科研绘图系列:箱线图加蜜蜂图展示组间数据分布-CSDN博客科研绘图系列:小提琴图和双侧小提琴图展示组间差异-CSDN博客科研绘图系列:组间差异的STAMP图的ggplot2实现-CSDN博客…

【在Linux世界中追寻伟大的One Piece】多路转接epoll

目录 1 -> I/O多路转接之poll 1.1 -> poll函数接口 1.2 -> poll的优点 1.3 -> poll的缺点 1.4 -> poll示例 1.4.1 -> 使用poll监控标准输入 2 -> I/O多路转接之epoll 2.1 -> 初识epoll 2.2 -> epoll的相关系统调用 2.2.1 -> epoll_cre…

招聘app开发,人才招聘、求职首要方式

随着互联网的快速发展,各种线上应用成为了大众生活中不可或缺的一部分,不管是购物、娱乐、找工作等都可以通过手机应用进行。因此,对于企业说,线上招聘app至关重要,能够快速帮助企业找到合适的人才。企业直接与求职者交…

学习方法——看差的书籍

CSAPP证明从1中午2点到下午3:40,但是还是只是推理证明而已,但是想起来了课上老师讲的东西了 还可以知道补码运算的大前提知识!!! 但是最好不要一下学这个一下子学哪个,学哪一个都不能尽情投入。…

【人工智能】Transformers之Pipeline(二十三):文档视觉问答(document-question-answering)

​​​​​​​ 目录 一、引言 二、文档问答(document-question-answering) 2.1 概述 2.2 impira/layoutlm-document-qa 2.2.1 LayoutLM v1 2.2.2 LayoutLM v2 2.2.3 LayoutXLM 2.2.4 LayoutLM v3 2.3 pipeline参数 2.3.1 pipeline对象实例化…

Python酷库之旅-第三方库Pandas(206)

目录 一、用法精讲 961、pandas.IntervalIndex.mid属性 961-1、语法 961-2、参数 961-3、功能 961-4、返回值 961-5、说明 961-6、用法 961-6-1、数据准备 961-6-2、代码示例 961-6-3、结果输出 962、pandas.IntervalIndex.length属性 962-1、语法 962-2、参数 …

【论文阅读】利用SEM二维图像表征黏土矿物三维结构

导言 在油气储层研究中,黏土矿物对流体流动的影响需要在微观尺度上理解,但传统的二维SEM图像难以完整地表征三维孔隙结构。常规的三维成像技术如FIB-SEM(聚焦离子束扫描电子显微镜)虽然可以获取高精度的3D图像,但成本…

前端入门一之ES6--面向对象、够着函数和原型、继承、ES5新增方法、函数进阶、严格模式、高阶函数、闭包

前言 JS是前端三件套之一,也是核心,本人将会更新JS基础、JS对象、DOM、BOM、ES6等知识点,这篇是ES6;这篇文章是本人大一学习前端的笔记;欢迎点赞 收藏 关注,本人将会持续更新。 文章目录 JS高级 ES61、面向对象1.1…

数据安全、信息安全、网络安全区别与联系

关键字: 信息安全 数据安全 网络安全 [导读] 在 “互联网 ” 被广泛提及的今天,安全问题也越来越多的受到人们关注,然而很多人对于 “信息安全”、“数据安全”、“网络安全” 的概念并不是很清楚。我们汇总了官方机构给这三者的定义&#…

Linux——简单认识vim、gcc以及make/Makefile

前言:大佬写博客给别人看,菜鸟写博客给自己看,我是菜鸟。 1、vim操作: 默认打开vim时,vim处于命令模式。(在其他模式中,Esc就能够返回命令模式) 常用的命令有: n gg:跳转到n行&…

Java反序列化之CommonsCollections2链的学习

一、前言 Apache Commons Collections 是一个著名的辅助开发库,包含了一些Java中没有的数据结构和辅助方法,不过随着Java 9 以后的版本中原生库功能的丰富,以及反序列化漏洞的影响,它也在逐渐被升级或替代。 在2015年底的common…

前端web

题目&#xff1a;制作带有下拉悬停菜单的导航栏 效果图 一、先制作标签 <body> <div id"menu"> <div id"container"> <div class"item">游戏1 <div class…

【大数据学习 | kafka高级部分】kafka中的选举机制

controller的选举 首先第一个选举就是借助于zookeeper的controller的选举 第一个就是controller的选举&#xff0c;这个选举是借助于zookeeper的独享锁实现的&#xff0c;先启动的broker会在zookeeper的/contoller节点上面增加一个broker信息&#xff0c;谁创建成功了谁就是主…

Android 开发指南:初学者入门

Android 是全球最受欢迎的移动操作系统之一&#xff0c;为开发者提供了丰富的工具和资源来创建各种类型的应用程序。本文将为你提供一个全面的入门指南&#xff0c;帮助你从零开始学习 Android 开发。 目录 1. 了解 Android 平台[1]2. 设置开发环境[2]3. 学习基础知识[3]4. 创…