当前位置: 首页 > news >正文

MySQL——事务


一、事务的开始与结束

一个数据库事务由一条或多条sql语句构成,它们形成一个逻辑的工作单元。这些sql语句要么全部执行成功,要么全部执行失败。 

1.1.事物的开始

1.对于DDL(create,alter,drop)和DCL(grant,revoke)事务,在执行每条语句之前和之后,MYSQL会自动执行一条commit语句,因此事物是自动开始和结束的

2.对于DML事物,需要发出start transaction语句

1.2.事物的结束

1.commit语句
成功提交,事务所作的全部工作被永久地保存在磁盘上

2.rollback语句
失败回滚,事务所做的全部工作被撤销,表中的数据不受事物操作的影响

3.savepoint
保存点命令,用来在事物中做一个标记,专门提供给rollback to语句使用

4.rollback to savepoint
回滚到保存点,专门用来撤销事物所做的部分工作

二、事务的ACID特性

事务机制可以确保数据一致性:

1.原子性(atomicity)
一个事务是一个不可分割的工作单位,事务中包括的各种操作要么都做,要么都不做

2.一致性(consistency)
事务必须是使数据库从一个一致性状态变到另一个一致性状态,一致性与原子性密切相关

3.隔离性(isolation)
一个事务的执行不能被其他事务所干扰,一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能相互干扰

4.持久性(永久性)(durability)
一个事务一旦提交,它对数据库中数据的改变是永久性的,接下来的其他操作或故障不会对其产生任何影响

三、并发事务的四个过程

当有多个事务同时运行时,可能存在以下4个问题:

1.脏读
一个事物读到了另一个事物未提交的数据

2.不可重复读
在同一个事务中,同样的条件,你读取过的数据再次读取出来时发现值不一样(修改)

3.幻读
在同一个事物中,同样的条件,第1次和第2次读出来的记录数不一样(新增/删除)

4.丢失更新
一个事物的修改覆盖了另一个事务所作的修改

四、解决并发问题的4个隔离级别

1.读未提交
2.读已提交
3.可重复读(默认)
4.可串行化

哪些操作会产生事务?

DDL和DCL不受autocommit这个变量的影响,MySQL会自动执行commit操作,不受操作者的控制,自动完成。DML受操作人员的控制

start  transaction 后去操作表的时候,加的是表锁

python操作MySQL

pymysql库

参考: 

https://www.cnblogs.com/WQ577098649/p/12051243.html 

https://www.runoob.com/python3/python3-mysql.html

相关文章:

MySQL——事务

一、事务的开始与结束 一个数据库事务由一条或多条sql语句构成,它们形成一个逻辑的工作单元。这些sql语句要么全部执行成功,要么全部执行失败。 1.1.事物的开始 1.对于DDL(create,alter,drop)和DCL&…...

虚拟机Ubuntu操作系统最基本终端命令(安装包+详细解释+详细演示)

虚拟机及乌班图(Ubuntu操作系统) 提示:大家需要软件的可以直接在此链接中提取 链接:https://pan.baidu.com/s/1_4VHGTlXjIuVhBINeOuBCA 提取码:nd0c 文章目录 虚拟机及乌班图(Ubuntu操作系统)终…...

Android 11.0 当系统内置两个Launcher时默认设置Launcher3以外的那个Launcher为默认Launcher

1.概述 在11.0定制化开发中,由于产品开发需要要求系统内置两个Launcher,一个是Launcher3,一个是自己开发的Launcher,当系统启动Launcher时, 不要弹出Launcher选择列表 选择哪个Launcher要求默认选择自己开发的Launcher作为默认Launcher,关于选择Launcher列表 其实都是在Res…...

NO5.心愿打印机

def light():#定义一个函数,以:结尾print(红灯2)#打印print(绿灯3)#打印 print(黄灯1)#和def顶格,先执行 light()#调用light函数【PDF转Word】 https://fzqxk86ywz.feishu.cn/sheets/GugIsI9zKhNaEwtJscbcgKFCn6b 【Fiddler汉化】 https://fzqxk86ywz.f…...

cudart.so vs cuda.so的区别

libcuda.so provides access to the CUDA driver API, whereas libcudart.so provides access to the CUDA runtime API. libcuda.so提供对CUDA驱动程序API的访问,而libcuart.so提供了对CUDA运行时API的访问。 在wsl中cuda.so位于/usr/lib/wsl/lib/libcuda.so 可以…...

Oracle集群管理-19C集群禁用numa和大页内存特性

Linux Redhat 7.9关闭内存管理特性 1 关闭大页内存 [rootdb1 ~]# cat /sys/kernel/mm/transparent_hugepage/defrag [always] madvise never [rootdb1 ~]# cat /sys/kernel/mm/transparent_hugepage/enabled [always] madvise never echo never > /sys/kernel/mm/transpare…...

题目:2726.使用方法链的计算器

​​题目来源: leetcode题目,网址:2726. 使用方法链的计算器 - 力扣(LeetCode) 解题思路: 按要求模拟,在计算后返回自己以达到链式调用的目的。 解题代码: class Calculator {/**…...

基于ASP.NET的驾校管理系统设计与实现

摘 要 伴随国民经济的飞速发展和人民生活水平的不断提高,家用汽车在我国逐渐普及。面对不断增长的庞大的用户群,随之产生的驾驶培训行业,规模不断扩大。近年来,随着Internet的迅速发展以及网页制作技术的日臻完善,驾校…...

第一章 计算机系统概述 三、操作系统的发展与分类

一、手工操作阶段 缺点:人机速度矛盾 二、批处理阶段 1、单道批处理系统(引入脱机输入输出技术) 优点:缓解人机速度矛盾 缺点:资源利用率依然很低 2、多道批处理系统(操作系统开始出现) 优点:多道程序并发进行,…...

【2023年11月第四版教材】第12章《质量管理》(第二部分)

第12章《质量管理》(第二部分) 4 规划质量管理4.1 数据收集★★★4.2 数据分析★★★4.3 数据表现★★★4.4 质量管理计划★★★4.5 质量测量指标★★★ (22下35) 4 规划质量管理 组过程输入工具和技术输出计划1.规划质量管理1.项…...

metinfo __ 6.0.0 __ file-read

metinfo __ 6.0.0 __ file-read 说明内容漏洞编号–漏洞名称MetInfo 6.0.0 任意文件读取漏洞漏洞评级高危影响范围6.0.0.0漏洞描述MetInfo 存在任意文件读取漏洞,攻击者利用该漏洞,在具有权限的情况下,可以读取网站任意文件,包括…...

打造高效的私密论坛网站:Cpolar内网穿透+HadSky轻量级搭建指南

文章目录 前言1. 网站搭建1.1 网页下载和安装1.2 网页测试1.3 cpolar的安装和注册 2. 本地网页发布2.1 Cpolar临时数据隧道2.2 Cpolar稳定隧道(云端设置)2.3 Cpolar稳定隧道(本地设置)2.4 公网访问测试 总结 前言 经过多年的基础…...

MediaCodec源码分析 configure流程

前言 本文梳理MediaCodec configure流程,基于7.0代码,这里只分析AVC和HEVC的视频硬解,流程图如下。 代码见: frameworks/base/media/java/android/media/MediaCodec.java frameworks/base/media/jni/android_media_MediaCodec.h frameworks/base/media/jni/android_media_…...

借助ChatGPT使用Pandas实现Excel数据汇总

一、问题的提出 现在有如下一个Excel表: 上述Excel表中8万多条数据,记录的都是三年以来花菜类的销量,现在要求按月汇总实现统计每个月花菜类的销量总和,如果使用Python的话要给出代码。 二、问题的解决 1.首先可以用透视表的方…...

[学习笔记]PageRank算法

参考资料:改变世界的谷歌PageRank算法 pagerank算法用于计算节点重要度 思想 如果网页被更多的入度(被引用),则网页更重要。 被重要网站引用比被普通网站引用更加凸显重要性。 所以考虑一个网站是否重要,需要看引用它的网站是否重要&#…...

【洛谷算法题】P5704-字母转换【入门1顺序结构】

👨‍💻博客主页:花无缺 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5704-字母转换【入门1顺序结构】🌏题目描述🌏输入格式&a…...

Pytorch——查找、替换module相关操作

nn.Module类可用操作 1. model.named_parameters() # 遍历模型的所有参数并打印它们的名称和形状 for name, param in model.named_parameters():print(f"Parameter Name: {name}, Parameter Shape: {param.shape}")输出示例: Parameter Name: conv1.w…...

组件安全以及漏洞复现

组件安全 1. 概述 A9:2017-使⽤含有已知漏洞的组件 A06:2021-Vulnerable and Outdated Components ​ 组件(例如:库、框架和其他软件模块)拥有和应用程序相同的权限。如果应用程序中含有已知漏洞的组件被攻击者利用,可能会造成…...

人工智能安全-4-小样本问题

0 提纲 小样本学习问题数据增强基于模型的小样本学习基于算法的小样本学习相关资源1 小样本学习问题 在小样本监督分类中,通常将问题表述为 N-way-K-shot分类, 当K = 1,称为one-shot learning;当K = 0时,成为zero-shot learning(ZSL)。ZSL就要求学习的问题具备充足的先…...

iOS 17中的Safari配置文件改变了游戏规则,那么如何设置呢

Safari在iOS 17中最大的升级是浏览配置文件——能够在一个应用程序中创建单独的选项卡和书签组。这些也可以跟随你的iPad和Mac,但在本指南中,我们将向你展示如何使用运行iOS 17的iPhone。 你可能有点困惑,为什么Safari中没有明显的位置可以添…...

AC自动机小结

AC自动机是一种多模匹配算法。 常见操作 查询一个串的子串 任何一个串的子串都可以表示成他的一个前缀的后缀 他的前缀可以在Trie树上查询 后缀相当于其在fail树上的所有祖先 例1 : HDU4117 接上。首先AC自动机要学会离线。 对于每个点查询祖先复杂度很大。…...

【C++】构造函数分类 ③ ( 调用有参构造函数的方法 | 括号法 | 等号法 )

文章目录 一、在不同的内存中创建类的实例对象1、括号法调用构造函数2、等号法调用构造函数 二、完整代码示例 一、在不同的内存中创建类的实例对象 在上一篇博客 【C】构造函数分类 ② ( 在不同的内存中创建类的实例对象 | 栈内存中创建实例对象 | new 关键字创建对象 ) 中 , …...

uni-app 之 uni.request 网络请求API接口

uni-app 之 uni.request 网络请求API接口 image.png <template><!-- vue2的<template>里必须要有一个盒子&#xff0c;不能有两个&#xff0c;这里的盒子就是 view--><view>--- uni.request 网络请求API接口 ---<view><!-- 免费的测试接口 --…...

代码随想录33|509. 斐波那契数,70. 爬楼梯,746. 使用最小花费爬楼梯, 34. 在排序数组中查找元素的第一个和最后一个位置

509. 斐波那契数 链接地址 class Solution { public:int fib(int n) {if (n < 1) return n;vector<int> dp(n 1);dp[0] 0;dp[1] 1;for (int i 2; i < n 1; i) {dp[i] dp[i - 1] dp[i - 2];}return dp[n];} };70. 爬楼梯 链接地址 class Solution { public…...

什么是Executors框架?

Executors 是 Java 标准库中的一个工具类,位于 java.util.concurrent 包中,用于创建和管理线程池。它提供了一组静态工厂方法,用于快速创建不同类型的线程池。Executors 框架的目标是使线程池的创建和管理更加简单和方便。 以下是一些 Executors 框架的常用工厂方法和线程池…...

【kafka】kafka单节点/集群搭建

概述 本章节将分享不同版本的kafka单节点模式和集群模式搭建。 在kafka2.8版本之前&#xff0c;需要依赖zookeeper服务&#xff0c;而在kafka2.8版本&#xff08;包括&#xff09;之后&#xff0c;可以不在依赖zookeeper服务。本章节将分kafka2.8版本之前的版本和之后的版本分…...

如何进行机器学习

进行机器学习主要包含以下步骤&#xff1a; 获取数据&#xff1a;首先需要获取用于学习的数据&#xff0c;数据的质量和数量都会影响机器学习的效果。如果自己的数据量较少&#xff0c;可以尝试在网上寻找公开数据集进行训练&#xff0c;然后使用自己的数据进行微调。另一种方…...

Vue项目使用axios配置请求拦截和响应拦截以及判断请求超时处理提示

哈喽大家好啊&#xff0c;最近做Vue项目看到axios axios官网&#xff1a;起步 | Axios 中文文档 | Axios 中文网 (axios-http.cn)​​​​​​ 重要点&#xff1a; axios是基于Promise封装的 axios能拦截请求和响应 axios能自动转换成json数据 等等 安装&#xff1a; $ npm i…...

《DevOps实践指南》- 读书笔记(四)

DevOps实践指南 Part 3 第一步 &#xff1a;流动的技术实践11. 应用和实践持续集成11.1 小批量开发与大批量合并11.2 应用基于主干的开发实践11.3 小结 12. 自动化和低风险发布12.1 自动化部署流程12.1.1 应用自动化的自助式部署12.1.2 在部署流水线中集成代码部署 12.2 将部署…...

盲打键盘的正确指法指南

简介 很多打字初学者&#xff0c;并不了解打字的正确指法规范&#xff0c;很容易出现只用两根手指交替按压键盘的“二指禅”情况。虽然这样也能实现打字&#xff0c;但是效率极低。本文将简单介绍盲打键盘的正确指法&#xff0c;以便大家在后续的学习和工作中能够提高工作效率…...

网站开发架构mvc/优化推广方案

花火网消息&#xff0c;如果你有4000元左右的预算&#xff0c;你会选择什么国产手机呢?近年来一加和华为其实在海外市场都得难分难解&#xff0c;尤其是今年一加7TPro和华为mate30Pro&#xff0c;更是引发了北美市场消费者的抢购&#xff0c;那么究竟这两款手机谁更好一些呢?…...

河北邢台做移动网站/seo排名赚app官网

前言二叉树遍历是非常经典的算法题&#xff0c;也是二叉树的一道基础算法题。但是在平常的笔试面试中&#xff0c;其出现的频率其实并不是特别的高&#xff0c;我推测是这种题目相对来说比较基础&#xff0c;算是一个基础知识点。比如剑指offer中出现的后序遍历题目&#xff0c…...

网站模版好建设吗/seo专业优化方法

zabbix 使用进阶&#xff08;五&#xff09;概述&#xff1a;本章内容具体如下&#xff1a;自定义key不带参数&#xff1b;自定义key可传递参数&#xff1b;在agent端自定义可传递参数的key&#xff0c;来获取nginx的状态信息&#xff1a;基于SNMP监控的创建和和使用&#xff1…...

忻州网站建设网站推广/微信搜一搜seo优化

1. 简介 对于cocos2dx的分辨率方案原来一知半解&#xff0c;终于今天有机会给搞清楚了。在cocos2d-x中的几种分辨率&#xff1a; 1.1 Framebuffer分辨率&#xff08;其大小依赖于硬件设备&#xff09; 保存在EGLViewProtocol类的Size _screenSize; 在nativeactivity.cpp的coco…...

深圳国资委/seo流量的提升的软件

这里写目录标题下面是目录可跳转对应页面学习&#xff1b;1.MySQL环境1.1.环境安装1.2.安装位置1.3.修改字符集1.4.配置文件2.MySQL逻辑架构MySQL逻辑架构逻辑架构分层MySQL逻辑架构3.存储引擎下面是目录可跳转对应页面学习&#xff1b; 1. 简介 1.1 安装1.2 MySQL逻辑架构 1.…...

网站内页seo查询/搜索引擎优化简称

上一篇文章&#xff1a;【AI绘画】我以Midjourney为主学习AI绘画效果咋样&#xff1f;_山楂山楂丸的博客-CSDN博客 目录 前言 一、「Stable Diffusion」 是什么 二、「Stable Diffusion」上手演练 三、竟然还有ChatGPT&#xff1f; 四、「Stable Diffusion」作品展示 五、…...