首页 > 数据库 >MySQL篇:第八章_详解TCL语言

MySQL篇:第八章_详解TCL语言

时间:2023-09-19 10:25:41浏览次数:33  
标签:语句 回滚 sql 事务 并发 TCL 详解 提交 MySQL

事务

一、含义

事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行

二、特点(ACID)

A 原子性:一个事务是不可再分割的整体,要么都执行要么都不执行
C 一致性:一个事务可以使数据从一个一致状态切换到另外一个一致的状态
I 隔离性:一个事务不受其他事务的干扰,多个事务互相隔离的
D 持久性:一个事务一旦提交了,则永久的持久化到本地

三、事务的使用步骤 ★

了解:
隐式(自动)事务:没有明显的开启和结束,本身就是一条事务可以自动提交,比如insert、update、delete
显式事务:具有明显的开启和结束

使用显式事务:
①开启事务
set autocommit=0;
start transaction;#可以省略

②编写一组逻辑sql语句
注意:sql语句支持的是insert、update、delete

设置回滚点:
savepoint 回滚点名;

③结束事务
提交:commit;
回滚:rollback;
回滚到指定的地方:rollback to 回滚点名;

四、并发事务

1、事务的并发问题是如何发生的?
多个事务 同时 操作 同一个数据库的相同数据时

2、并发问题都有哪些?
脏读:一个事务读取了其他事务还没有提交的数据,读到的是其他事务“更新”的数据
不可重复读:一个事务多次读取,结果不一样
幻读:一个事务读取了其他事务还没有提交的数据,只是读到的是 其他事务“插入”的数据

3、如何解决并发问题
通过设置隔离级别来解决并发问题

4、隔离级别

			    脏读		   不可重复读       幻读
read uncommitted:读未提交      ×                ×            ×        
read committed:读已提交        √                ×            ×
repeatable read:可重复读       √                √            ×
serializable:串行化            √                √            √

标签:语句,回滚,sql,事务,并发,TCL,详解,提交,MySQL
From: https://www.cnblogs.com/oten/p/17712374.html

相关文章

  • MySQLSQL查询的优化技巧及详细SQL语句和解释
    在实际的数据库应用中,复杂的SQL查询可能会导致性能下降,从而影响应用的响应时间和用户体验。为了提升查询性能,我们可以采用一些优化技巧。本文将介绍一些针对复杂SQL查询的优化技巧,并提供详细的SQL语句和解释,帮助您优化MySQL数据库中的复杂查询。使用索引:索引是提高查询性能的关键......
  • centos7使用mysql压缩包安装mysql5.7
    centos7使用mysql压缩包安装mysql5.71、安装相关的命令环境安装vim命令yum-yinstallvim*安装netstat命令yum-yinstallnet-tools2、上传mysql压缩包到/usr/local/并解压重名mysql-5.7.37-el7-x86_64.tar.gz解压mysql安装包tar-zxvfmysql-5.7.37-el7-x86_64.t......
  • Python变量:创建、类型、命名规则和作用域详解
    变量变量是用于存储数据值的容器。创建变量Python没有用于声明变量的命令。变量在您第一次为其分配值时被创建。示例x=5y="John"print(x)print(y)变量不需要声明为特定类型,并且甚至在设置后可以更改类型。示例x=4#x的类型为intx="Sally"#现在x的......
  • centos7安装mysql8
    1.查看是否已经安装了mysqlrpm-qa|grepmysql#无输出说明没有安装2.下载rpm2.1手动下载打开网址:MySQLYum存储库选择linux7,点击下载2.2wget下载wgethttps://dev.mysql.com/get/mysql80-community-release-el7-10.noarch.rpm3.安装mysql源rpm-ivhmysql80-commun......
  • 【愚公系列】2023年09月 WPF控件专题 DataGrid控件详解
    (文章目录)前言WPF控件是WindowsPresentationFoundation(WPF)中的基本用户界面元素。它们是可视化对象,可以用来创建各种用户界面。WPF控件可以分为两类:原生控件和自定义控件。原生控件是由Microsoft提供的内置控件,如Button、TextBox、Label、ComboBox等。这些控件都是WPF中常见......
  • 2.MySQL存储引擎
    MySQL有Server层和存储引擎层,存储引擎层为插件式实现,redolog为InnoDB独有。1.MySQL支持哪些存储引擎?默认使用哪个?所有的存储引擎中只有InnoDB是事务性存储引擎,也就是说只有InnoDB支持事务。 2.MySQL存储引擎架构了解吗?MySQL存储引擎采用的是插件式架构,支持......
  • 3.MySQL索引
    1.索引:是一种用于快速查询和检索数据的数据结构,其本质可以看成是一种排序好的数据结构。常见的索引结构有:B树,B+树和Hash、红黑树。在MySQL中,无论是Innodb还是MyIsam,都使用了B+树作为索引结构。2.索引优缺点:优点:使用索引可以大大加快数据的检索速度(大大减少检索的数......
  • 单例模式详解
    饿汉单例模式packagecom.std.www.singletonmode;importjava.util.UUID;publicclassScpD{privatefinalstaticScpDscpD=newScpD();publicstaticScpDgetScpD(){returnscpD;}}类一经创建就会给对象分配内存,这种方式会造成不必要的内......
  • MYSQL SQL做题总结
    一.关于join1.内外左右连接2.交叉联结(corssjoin)使用交叉联结会将两个表中所有的数据两两组合。如下图,是对表“text”自身进行交叉联结的结果:3.三表双双连接力扣题目a与b表笛卡尔积,再与c表左连接。SELECTa.student_id,a.student_name,b.subject_name,count(c.subject......
  • MySQL主从复制原理
    一张图让你牢记MySQL主从复制原理|原创(qq.com)为什么需要主从复制?1、读写分离,增强MySQL数据库的可用性。2、做数据的热备。3、架构的扩展。业务量越来越大,I/O访问频率过高,单机无法满足,此时做多库的存储,降低磁盘I/O访问的频率,提高单个机器的I/O性能。说说BinlogMySQL的Server......