事物分为 自动(默认的)和手动(需开启事务)两种

-- 事务 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-事务,原子性操作的更多相关文章

  1. Golang之Mysql事务

    Mysql事务 )原子性 )一致性 )隔离性 )持久性 示例代码 package main import ( "fmt" _ "github.com/go-sql-dri ...

  2. Mysql学习---基础操作学习

    1.1. 基本操作 数据库引擎 Inodb:支持事务[原子性操作,完成一些列操作后才算完成操作,否则rollback] MyISAM: 支持全文索引,强调了快速读取操作,主要用于高负载的select ...

  3. 第二百八十六节,MySQL数据库-MySQL事务操作(回滚)

    MySQL数据库-MySQL事务操作(回滚) 事务用于将某些操作的多个SQL作为原子性操作,一旦有某一个出现错误,即可回滚到原来的状态,从而保证数据库数据完整性. 举例:有这样一张表 从表里可以看出张 ...

  4. 10.mysql事务管理及python操作

    在用户操作MySQL过程中,对于一般简单的业务逻辑或中小型程序而言,无需考虑应用MySQL事务.但在比较复杂的情况下,往往用户在执行某些数据操作过程中,需要通过一组SQL语句执行多项并行业务逻辑或程序 ...

  5. 跟面试官侃半小时MySQL事务,说完原子性、一致性、持久性的实现

    提到MySQL的事务,我相信对MySQL有了解的同学都能聊上几句,无论是面试求职,还是日常开发,MySQL的事务都跟我们息息相关. 而事务的ACID(即原子性Atomicity.一致性Consiste ...

  6. 学习ThinkPHP的第20天--MySQL事务操作、查询事件、一对一关联

    之所以从20天才开始写随笔记是因为之前没搞自己的博客 从20天开始记录我在ThinkPHP中的点点滴滴 1.MySQL事务操作 /**事务操作*/ //startTrans启动事务.rollback回 ...

  7. MySQL 事务配置命令行操作和持久化

    MySQL 事务配置命令行操作和持久化 参考 MySQL 官方参考手册 提供 5.5 5.6 5.7 8.0 版本的参考手册 https://dev.mysql.com/doc/refman/5.5/ ...

  8. MySQL 多表查询与事务的操作

    表连接查询 什么是多表查询 # 数据准备 # 多表查询的作用 * 比如:我们想查询孙悟空的名字和他所在的部门的名字,则需要使用多表查询 # 如果一条 SQL 语句查询多张表,因为查询结果在多张不同的表 ...

  9. mysql数据库事务的操作与理解

    --------------------事务----------------------------------------------查询mysql事务隔离级别1.查看当前会话隔离级别select ...

  10. MySql事务概述

    事务是访问并更新数据库中各种数据项的一个程序执行单元.在事务中的操作,要么都执行修改,要么都不执行,这就是事务的目的,也是事务模型区别于文件系统的重要特征之一. 严格上来说,事务必须同时满足4个特性, ...

随机推荐

  1. android中的5大布局

    1.线性布局:LinearLayout layout_margin     上下左右的距离分别为 下面图中的orientation表示的是布局中的方向 分别有horizontal表示水平 vertic ...

  2. ubuntu git生成ssh key (公钥私钥)配置github或者码云

    Git是分布式的代码管理工具,远程的代码管理是基于SSH的,所以要使用远程的Git则需要SSH的配置. github的SSH配置如下: 设置Git的user name和email: git confi ...

  3. HPU 1471:又是斐波那契数列??(大数取模)

    1471: 又是斐波那契数列?? 时间限制: 1 Sec 内存限制: 128 MB 提交: 278 解决: 27 统计 题目描述 大家都知道斐波那契数列吧?斐波那契数列的定义是这样的: f0 = 0; ...

  4. About DOM

    文档对象模型,简称DOM.是HTML页面结构给javascript提供的一个入口,它就像一个桥梁,连接两者的关系.通过DOM,JavaScript拥有访问并修改HTML的权限. 一.DOM模型: 首先 ...

  5. CTF-练习平台-Misc之 这么多数据包

    十一.这么多数据包 下载文件后解压,用wireshark打开CTF.pcapng,发现有很多包,快速浏览后发现前面都是攻击机(192.168.116.138)在向目标机(192.168.116.159 ...

  6. 【转】每天一个linux命令(46):vmstat命令

    原文网址:http://www.cnblogs.com/peida/archive/2012/12/25/2833108.html vmstat是Virtual Meomory Statistics( ...

  7. selenium常用获取元素点

    //通过id WebElement element = driver.findElement(By.id("coolestWidgetEvah")); //通过className ...

  8. SQL SERVER 2008 彻底卸载干净方法 (转)

    最近安装SQL SERVER 2008失败后,再重新安装时老是报错,东搞西搞的很难卸干净.但又不方便重装系统,经按下面方法终于搞定并成功安装上2008 1.停掉SQL SERVER 2008所有相关服 ...

  9. JMeter和JMeterPlugin的下载安装

    JMeter和JMeterPlugin的下载安装 Apache Jmeter是一个100%的纯Java桌面应用,主要是针对web的压力和性能测试,但后来扩展到其他测试领域.Jmeter可以用于测试FT ...

  10. openwrt设置默认登陆密码

    1.修改dropbear配置文件 找到package/network/services/dropbear/files/dropbear.config 修改如下: config dropbear opt ...