Mysql-事务,原子性操作
事物分为 自动(默认的)和手动(需开启事务)两种 -- 事务 start transaction;
-- commite; 提交事务
-- rollback; 回滚事务
create table if not exists account(
id int primary key auto_increment,
name varchar(14) not null,
RMB int
); insert into account(name,RMB) values('Which',1000),('Tj',998);
rollback; 进行一步操作后,可以撤回这个操作
-- 开始事务 手动事物
start transaction;
-- 事物操作
update account set RMB =RMB-992 where name = 'Which';
-- \q 退出mysql(中断事务)
-- mysql -u name -p; 回到mysql
-- 继续事务操作
-- 回滚事务
rollback;
+----+-------+------+ -- insert
| id | name | RMB |
+----+-------+------+
| 1 | Which | 8 |
| 2 | Tj | 998 |
+----+-------+------+
-- update |
--+-------+------+
| id | name | RMB |
+----+-------+------+
| 1 | Which | 8 |
| 2 | Tj | 998 |
+----+-------+------+
-- rollback |
+----+-------+------+
| id | name | RMB |
+----+-------+------+
| 1 | Which | 8 |
| 2 | Tj | 998 |
+----+-------+------+
commite: 自动提交
-- 事物操作
update account set RMB =RMB-992 where name = 'Which';
-- \q 退出mysql(事务)
-- mysql -u name -p; 回到mysql
-- 实际上在这儿退出后,再回到account表,值并没有-992,但是再进行下一步操作后,992就转给Tj了。
-- 继续事务操作 update account set RMB =RMB+992 where name = 'Tj';
-- insert Which 1000,Tj 998
+----+-------+------+
| id | name | RMB |
+----+-------+------+
| 1 | Which | 1000 |
| 2 | Tj | 998 |
+----+-------+------+
-- update Which-992
+----+-------+------+
| id | name | RMB |
+----+-------+------+
| 1 | Which | 8 |
| 2 | Tj | 998 |
+----+-------+------+
-- update Tj+992
+----+-------+------+
| id | name | RMB |
+----+-------+------+
| 1 | Which | 8 |
| 2 | Tj | 1990 |
+----+-------+------+
原子性操作:Innodb引擎支持事务
要么全部成功,要么全部失败
Mysql-事务,原子性操作的更多相关文章
- Golang之Mysql事务
Mysql事务 )原子性 )一致性 )隔离性 )持久性 示例代码 package main import ( "fmt" _ "github.com/go-sql-dri ...
- Mysql学习---基础操作学习
1.1. 基本操作 数据库引擎 Inodb:支持事务[原子性操作,完成一些列操作后才算完成操作,否则rollback] MyISAM: 支持全文索引,强调了快速读取操作,主要用于高负载的select ...
- 第二百八十六节,MySQL数据库-MySQL事务操作(回滚)
MySQL数据库-MySQL事务操作(回滚) 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性. 举例:有这样一张表 从表里可以看出张 ...
- 10.mysql事务管理及python操作
在用户操作MySQL过程中,对于一般简单的业务逻辑或中小型程序而言,无需考虑应用MySQL事务.但在比较复杂的情况下,往往用户在执行某些数据操作过程中,需要通过一组SQL语句执行多项并行业务逻辑或程序 ...
- 跟面试官侃半小时MySQL事务,说完原子性、一致性、持久性的实现
提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关. 而事务的ACID(即原子性Atomicity.一致性Consiste ...
- 学习ThinkPHP的第20天--MySQL事务操作、查询事件、一对一关联
之所以从20天才开始写随笔记是因为之前没搞自己的博客 从20天开始记录我在ThinkPHP中的点点滴滴 1.MySQL事务操作 /**事务操作*/ //startTrans启动事务.rollback回 ...
- MySQL 事务配置命令行操作和持久化
MySQL 事务配置命令行操作和持久化 参考 MySQL 官方参考手册 提供 5.5 5.6 5.7 8.0 版本的参考手册 https://dev.mysql.com/doc/refman/5.5/ ...
- MySQL 多表查询与事务的操作
表连接查询 什么是多表查询 # 数据准备 # 多表查询的作用 * 比如:我们想查询孙悟空的名字和他所在的部门的名字,则需要使用多表查询 # 如果一条 SQL 语句查询多张表,因为查询结果在多张不同的表 ...
- mysql数据库事务的操作与理解
--------------------事务----------------------------------------------查询mysql事务隔离级别1.查看当前会话隔离级别select ...
- MySql事务概述
事务是访问并更新数据库中各种数据项的一个程序执行单元.在事务中的操作,要么都执行修改,要么都不执行,这就是事务的目的,也是事务模型区别于文件系统的重要特征之一. 严格上来说,事务必须同时满足4个特性, ...
随机推荐
- 杭电 KazaQ's Socks
KazaQ wears socks everyday. At the beginning, he has n pairs of socks numbered from 1 to n in his cl ...
- MySQL删除超大表操作
======================================================================== 问题原因 通常情况下,会使用innodb_file_p ...
- solr 6.2.1环境搭建
一:Solr简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过 ...
- spring cloud 知识点
优秀的介绍资料: 资料 地址 spring cloud 中文网 https://springcloud.cc/ spring cloud 介绍 https://www.jianshu.com/p/74 ...
- Angular 4 表单校验1
1.html <form [formGroup]="formModel" (submit)="submit()"> <div> 用户名: ...
- 如何使用Django 启动命令行及执行脚本
使用django启动命令行和脚本,可以方便的使用django框架做开发,例如,数据库的操作等. 下面分别介绍使用方法. django shell的启动 启动命令: $/data/python-virt ...
- innotop监控mysql
InnoTop 是一个系统活动报告,类似于Linux性能工具,它与Linux的top命令相仿,并参考mytop工具而设计. 它专门用后监控InnoDB性能和MySQL服务器.主要用于监控事务,死锁,外 ...
- 如何判断事务是否完成,SqlTransaction
SqlConnection sconn = null; SqlCommand scmd = null; SqlTransaction strans = null; try { string sqlIn ...
- HttpClient连接池
HttpClient连接池,发现对于高并发的请求,效率提升很大.虽然知道是因为建立了长连接,导致请求效率提升,但是对于内部的原理还是不太清楚.后来在网上看到了HTTP协议的发展史,里面提到了一个属性C ...
- Android 自定义 spinner (背景、字体颜色)
转自:http://blog.sina.com.cn/s/blog_3e333c4a010151cj.html 1.准备两张图片,并做好9.png 2.在drawable中定义spinner_se ...