首页 > 数据库 >sql中的事物

sql中的事物

时间:2023-04-28 19:44:22浏览次数:38  
标签:account set -- 事物 sql balance id

sql中的事物
MySQL默认的是repeatable read
首先要开启事物
start transaction;
第二 所有的修改删除都为一个事物
当没有提交的时候只是操作的 缓存中的数据,
*此时查询的会存在 幻读 (读取的都是为修改的数据)
第三 在未提交前可以回滚事物 rollback;
第四提交 commit; 会默认关闭此次事物

 

create table account(
      id int primary key auto_increment,
      uname varchar(10) not null,
      balance double
);

-- 查看账户表:
select * from account;
-- 在表中插入数据:
insert into account values (null,'丽丽',2000),(null,'小刚',2000);

-- 此时是执行的两个事物 影响了两行
UPDATE account set balance = balance +200 where id =1;
UPDATE account set balance = balance -200 where id =2

-- 手动开启事务:
start transaction;

UPDATE account set balance = balance +200 where id =1;
UPDATE account set balance = balance -200 where id =2

-- 手动回滚:刚才执行的操作全部取消:
-- 在回滚和提交之前,数据库中的数据都是操作的缓存中的数据,而不是数据库的真实数据
rollback;
-- 手动提交:
commit;
 

标签:account,set,--,事物,sql,balance,id
From: https://www.cnblogs.com/188221creat/p/17363018.html

相关文章

  • 现在告诉你MySQL为什么选择B+Tree呢?
    大家都知道MySQL数据库选择的是B+Tree作为索引的数据结构,那为什么会选择B+Tree呢?本文分四种数据结构来分析:二叉查找树平衡二叉树多路平衡查找树加强版多路平衡查找树(B+Tree)二叉查找树二叉搜索树的特点:左子树的键值小于根的键值,右子树的键值大于根的键值。   从上面的2个图来看......
  • sql中的流程函数
    流程函数--if相关selectempno,ename,sal,if(sal>=2500,'高薪','底薪')as'薪资等级'fromemp;--if-else双分支结构selectempno,ename,sal,comm,sal+ifnull(comm,0)fromemp;--如果comm是null,那么取值为0--单分支--case相关:--case等值判断selectempno,ename......
  • [数据库]MYSQL之授予/查验binlog权限
    在后端做主从备份;亦或是在大数据领域中,各类CDC同步(Canal/FlinkCDC等),均会基于MYSQL的binlog来实现。因此,知道需要哪些权限?怎么查验去、怎么授权就很重要了。感觉网上的文章没成体系地清楚,而今天工作上处理问题的过程中遇到了此疑问,且曾多次对此产生疑问,自然便有了这一篇,作......
  • Cobar使用文档(可用作MySQL大型集群解决方案)
    Cobar使用文档(可用作MySQL大型集群解决方案)2014-06-17 1514举报简介: 原文:http://blog.csdn.net/shagoo/article/details/8191346项目已经迁移到Git上面,地址为:https://github.com/alibaba/cobar最近好不容易抽空研究了下Cobar,感觉这个产品确实很不错(在文档方面比Amoeba强多了......
  • mysql中列转行,并多个字段转到一行中的一个字段上,中间用逗号分开
    mysql中列转行,并多个字段转到一行中的一个字段上,中间用逗号分开 SELECT group_concat(a.idSEPARATOR',')ASidsFROM ( SELECT * FROM tablename WHERE 1=1 ORDERBY rand() LIMIT10 )a ......
  • PostgreSQL
    PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,版本4.2为基础的对象关系型数据库管理系统(ORDBMS)。PostgreSQL支持大部分SQL标准并且提供了许多其他现代特性:复杂查询、外键、触发器、视图、事务完整性、多版本并发控制。同样,PostgreSQL可以用许多方法扩展,比如,通过增......
  • 开心档之MySQL 创建数据库
    MySQL数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。数值类型MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以及近似......
  • centos7 安装MySql 安装5.7.28
    1、先执行查询:rpm-qa|grepmariadb执行结果如:mariadb-libs-5.5.64-1.el7.x86_642、先执行删除:rpm-e--nodepsmariadb-libs3、下载MySQL数据库:这里使用的是mysql-5.7.28版本4、将下载好的MySQL安装包上传到服务器5、到目录中解压文件:tar-xvfmysql-5.7.28-1.el7.x86_6......
  • EF Core 中原生SQL、存储过程、视图的使用
    包括EFCore中原型Sql的执行,包括存储过程和视图数据处理方法,同时包括参数化执行sql语句的注意事项。原生Sql查询原生sql查询使用如下两个方法进行,查询的结构只能映射到dbset关联的对象类型DBSet.FromSqlRaw()DBSet.FromSqlInterpolated()可以使用部分linq扩展方法.FromSqlR......
  • 开心档之MySQL 数据类型
    MySQL数据类型MySQL中定义数据字段的类型对你数据库的优化是非常重要的。MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。数值类型MySQL支持所有标准SQL数值数据类型。这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL和NUMERIC),以......