MySQL系列之九——MySQL事务和隔离级别

DML :
DELETE
INSERT INTO
UPDATE
与查询操作有关

INSERT INTO tb_name (col1,col2,...) VALUES (val1,val2,...)[,(val1,val2,...)]
字符型 :单引号
数值型 :不需要引号
日期时间型
空值 :NULL
REPLACE INTO 替换 用法相同

DELETE :
DELETE FROM tb_name WHERE condition;
truncate tb_name 清空表并重置AUTOINCREMEN计数器;

UPDATE tb_name SET col1=...,col2=... WHERE

MYSQL 机制 :
连接管理器:
接受请求
创建线程
认证用户
建立安全连接

并发控制 :
mbox : MDA
多版本并发控制 :MVCC 操作某个时间的快照

锁 :
读锁 :共享锁
写锁 :独占锁
LOCK TABLES tb_name lock_type(read|write);
UNLOCK TABLES 解除所有表的锁

锁粒度:从大到小 ,MySQL服务器仅支持表级锁,行锁需要由存储引擎完成
表锁
页锁
行锁

事务 :
RDBMS :ACID(原子性、一致性、隔离性、持久性)
事务日志 :
重做日志
redo log
撤消日志
undo log

隔离级别 :
READ-UNCOMMITRED 读未提交
READ-COMMITTED 读提交
REPATABLE READ 可重读
SERIABLEZABLE 可串行

多事务同时执行 :彼此之间互不影响的方式进行并行;
事务之间交互
通过数据集

ACID
Automicity 原子性,事务所引起的数据库操作,要么都完成,要么都不执行;
Consistency 一致性,执行前后数据库整体状态没有改变(隔离)
Isolation 隔离性 事务调度,事务之间影响最小 MVCC多版本并发控制
Durability 持久性,一旦事务成功完成,系统必须保证任何故障都不会引起事务表示出不一致性;
1、事务提交之前就已经写出数据至持久性存储;
2、结合事务日志完成;
事务日志产生顺序IO
数据文件产生随机IO

事务的状态 :
活动的 :active
部分提交的 :最后一条语句执行后
失败的
中止的
提交的
状态转换过程 :

SQL ,ODBC

START TANSACTION : 启动
COMMIT :提交
ROLLBACK :回滚

原文地址:https://blog.51cto.com/14087650/2424924

时间: 2024-08-03 06:01:09

MySQL系列之九——MySQL事务和隔离级别的相关文章

MySQL(26):事务的隔离级别出现问题之 幻读

1. 幻读 幻读(Phantom Read)又称为虚读,是指在一个事务内两次查询中数据条数不一致,幻读和不重复读有些类型,同样是在两次查询过程中,不同的是,幻读是由于其他事务做了插入记录的操作,导致记录数有所增加. 例如:银行在做统计报表时统计account表中所有用户的总金额时候,此时总共有三个账户,总共金额为3000元,这时候新增了一个用户账户,并且存入1000元,这时候银行再次统计就会发现账户总金额为4000,造成了幻读情况 2. 演示幻读: (1)首先我们设置b账户的隔离级别 b账户:由

Linux命令:MySQL系列之九--MySQL隔离级别及设置

SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的.低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销.Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交事务的执行结果.本隔离级别很少用于实际应用,因为它的性能也不比其他级别好多少.读取未提交的数据,也被称之为脏读(Dirty Read).Read Committed(读取提交内容) 这是大多数数据库系统的默认隔离级别(但不是MySQL默认的).

数据库事务的四大特性以及事务的隔离级别(mysql)

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. ⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执

事务的特性及事务的隔离级别(转)

原文:http://www.cnblogs.com/fjdingsd/p/5273008.html 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. ⑵ 一致性(Consi

数据库事务的四个基本特征以及事务的隔离级别

一.数据库事务的四个基本特征 事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性.一致性.隔离性和持久性)属性,只有这样才能成为一个事务. 1.原子性(Atomicity):事务中包含的操作被看做一个逻辑单元,这个 逻辑单元中的操作要么全部成功,要么全部失败. 2.一致性(Consistency):一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态. 拿转账来说,假设用户A和用户B两

数据库事务的四大特性以及事务的隔离级别

本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. ⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执

【持久层】数据库事务基础——事务的隔离级别

内容导读: 前三节数据库事务.并发带来的风险以及数据库锁都是为了铺垫事务的隔离性. 事务的隔离性不是无缘无故就存在的,他的存在是为了解决某一类问题,带来某一些操作的便捷:解决的问题是指数据库并发操作中数据一致性保证,带来的便捷是指定义好隔离级别之后,数据库会为操作自动加锁(不同的隔离级别拥有不同的自动锁粒度),而不用每次操作都手动的加锁. 写着写着觉得没什么可写的,本文已沦为简单的笔记···· 一.数据库事务 将一组数据库操作看作一个具备特殊数据库语义的执行单元,该执行单元具备ACID的事务属性

数据库的四大特性及事务的隔离级别

如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性试纸事务包含所有的操作要么全部成功,要么全部失败回滚,事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对是数据库有任何影响. ⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性的状态转为为另一个一致性的状态,也就是说一个事务执行之前和执行之后都必须处于一致性的状态. 比如银行转账,加上A用户和B用户两者账户的钱一共有500,那么不管A用户和B用户

数据库事务的四大特性以及事务的隔离级别详解

作者 : fjdingsd 来源 : 博客园 本篇讲诉数据库中事务的四大特性(ACID),并且将会详细地说明事务的隔离级别. 如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性: ⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,这和前面两篇博客介绍事务的功能是一样的概念,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响. ⑵ 一致性(Consistency) 一致性是指事务必须使数据库从一个一致性