IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 正厚干货 | MySQL数据库事务控制 -> 正文阅读

[大数据]正厚干货 | MySQL数据库事务控制

本文由成都正厚沈瑜老师供稿

1、事务控制概念

在MySQL中用于处理操作量大、复杂度高的数据。比如在人员管理系统中,删除一个人员,既需要删除人员的基本信息,也需要删除和该人员相关的信息,如信箱、文章、发起的事务等等,这些数据的操作语句就构成了一个事务。

当然只有使用了Innodb数据引擎的数据库或表才支持事务,在使用过程中药保证成批的SQL语句要么全部执行,要么全部执行,这样的事务处理可以维护数据库数据的完整性。一般在事务中会出现insert、update、delete、select语句。

2、事务控制特性

原子性:一个事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚到事务开始前的状态,就像这个事务从来没有执行过一样。

一致性:在事务开始之前和事务结束之后,数据库的完整性没有被破坏。这表示写入额资料必须完全符合所有的预设规则,包含资料的精确度、串联性以及后续数据库可以自发性地完成预定工作。

隔离性:数据库允许多个并发事务同时对其数据进行读写和修改能力,隔离性可以防止多个事务并发执行时由于交叉执行而导致数据的不一致。事务的隔离又分为不同级别,包括读未提交、读提交、可重复读和串行化。

持久性:事务处理结束后,对数据的修改应该是永久的即便系统故障也不会丢失。

3、事务控制相关命令

(1) Begin开始事务;

(2) Rollback回滚事务;

(3) Commit提交事务;

(4) Set autocommit=0 禁止自动提交模式;

(5) Set autocommit=1开启自动提交模式

4、事务控制提交方式

(1) 手动提交:通过关键字手动管理事务,需要用commit命令直接完成的提交为显示提交,如下:

94121109657818f06449950bdd5ba5e5.jpeg

表中结果展示:

a974454aa711bbe113d3c6569b9a0cd9.jpeg

(2) 自动提交:自动提交需要开启后才能使用,开启后相当于每次执行的sql都是一个事务,并自动提交它,如果sql执行失败会自动还原现场。

① 默认是开启状态,所以我们随便执行一条操作数据的sql都会提交到表中

② 关闭状态:set autocommit=0 执行这条语句就关闭了自动提交

③ 查看自动提交是否打开语句:select  @@autocommit;

270dea6445bea6c6e7cc6970ac68171c.jpeg

表中并不会插入3,4这两条数据:

59d0405558e7f9d1d5c3ec981b4fa402.jpeg

5、事务控制回滚

当执行语句遇到问题执行不成功时,数据不会受到任何改变,就需要在sql语句中使用rollback命令:

b35229f10234d28897ec55d90abe6de9.jpeg

执行完以上语句,6,7两条数据不会出现在数据表中:

c7075246b01e864e6424305baea4c883.jpeg

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2022-09-30 00:59:31  更:2022-09-30 01:04:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/20 2:51:16-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码