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之事务

概述

事务是由单独单元的一个或多个 SQL 语句组成,在这个单元中,每个 SQL 语句是相互依赖的。而整个单独单元作为一个不可分割的整体,如果单元中的某条 SQL 语句一旦执行失败或产生错误,整个单元将会回滚。所有受到影响的数据将返回到事务开始之前的状态;如果单元中的所有 SQL 语句都执行成功,则事务执行成功。
总结:事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功。
关键词:子任务的集合,一致性,要么成功,要么失败

事务的原理

● 事务开启之后,所有的操作都会临时保存在事务日志中,事务日志只有在得到 commit 命令才会同步到数据库中,其他的任何情况都会清空事务日志( rollback ,断开连接)。
● MySQL 没有开启事务的情况(默认情况下,MySQL 中的事务是默认自动提交的)
在这里插入图片描述

● MySQL 手动开启事务的情况:
在这里插入图片描述

事务的使用场景

● 如果在某个业务中需要执行多条 SQL 语句(写),那么此时一般是需要使用事务,从而保证这多条 SQL 语句执行同时成功或失败。
● 例如:转账、批量删除、从购物车中提交订单等等

事务的特性(ACID)

原子性(Atomicity):原子性是指事务是一个不可分割的整体,事务中的操作要么全部成功,要么全部失败。
一致性(Consistency):事务必须使得数据库从一个一致性的状态转移到另一个一致性的状态。比如:张三有余额 3000,李四有余额 2000,张三向李四转账 500,此时张三的余额是 2500,李四的余额是 2500,在这个过程中余额的总数 5000 是不变的。
隔离型(Isolation):事务的隔离性是指一个事务的执行不能被其它事务所干扰,即一个事务内存的操作及使用的数据对并发中的其它事务是隔离的,并发执行的各个事务之间不能互相干扰。
持久性(Durability):持久性是指一个事务一旦被提交,它对数据库中的数据的改变就是永久性的,接下来的其它操作和数据库故障不应该对其有任何影响。

事务的创建

START TRANSACTION;
command 1,2,3......
......
COMMIT[ROLLBACK];

事务自动创建和手工创建

SHOW VARIABLES LIKE '%autocommit%';
select @@autocommit;
// 1 表示事务开始自动提交 0表示不自动提交,需要commit or rollback
// mysql 默认事务是自动提交,即每执行一个sql语句,就提交一次。

//  关闭隐式事务
SET autocommit = 0;

在这里插入图片描述

隔离级别

在这里插入图片描述

-- 查看当前事务的隔离级别
SELECT @@tx_isolation;
--设置当前 MySQL 连接的隔离级别:
SET TRANSACTION ISOLATION LEVEL [READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE];
--设置数据库系统的全局隔离级别:
SET GLOBAL TRANSACTION ISOLATION LEVEL [READ UNCOMMITTED|READ COMMITTED|REPEATABLE READ|SERIALIZABLE];

参考

Mysql基础

MySQL超完整教程,MySQL入门到进阶全套教程,B站必学的mysql数据库教程

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-09 20:46:17  更:2022-02-09 20:48:26 
 
开发: 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年11日历 -2024/11/24 13:21:14-

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