首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL的事务

事务就是要保证一组数据库操作,要么全部成功,要么全部失败,在MySQL中,事务支持在引擎层实现的 优点:支持严格的ACID属性(原子性(atomicity,或称不可分割性)、一致性(consistency...:一个事务还没提交时,它做的修改就能被别的事务看到 事务A 事务B select * from user; insert into user(username) values('张三'); select...* from user; insert into user(username) values('张三'); select * from user; commit; select * from...当然在可重复读隔离级别下,未提交变更对其他事务也是不可见的 事务A 事务B select * from user; insert into user(username) values('张三');...但是这种事务隔离级别效率低下,比较耗数据库性能 事务A 事务B select * from user; insert into user(username) values('张三'); select

65220

MySQL面试题

trunctate table:删除内容、释放空间但不删除定义 delete :删除内容不删除定义,不释放空间 drop table:删除内容和定义,释放空间 事务的四个特性 ACID,原子性Atomicity...、一致性Consistency、隔离性Isolation、还有持久性Durability 原子性:事务一个完整的操作,事务的各元素不可分的,事务中的所有元素必须作为一个整体提交或回滚。...隔离性:对数据进行修改的所有并发事务彼此隔离的,这表明事务必须独立的,它不应以任何方式依赖或影响其他事务。 持久性:事务的持久性指不管系统是否发生了故障,事务处理的结果都是永久的。...视图可以修改数据 视图中的数据和结构建立在表查询的基础上的,所以它可以像物理表一样使用,对其更新,即对实际数据库中的原始数据表进行更新,但是视图主要用于查看数据,不建议使用视图作更新,特别是视图数据来自多个表时...中只能group HAVING COUNT(*)=( by 的分组字段和聚合函数计算字段 SELECT COUNT(*) FROM

20060

MySQL事务隔离级别浅析

一、事务的四大特性(ACID) 了解事务隔离级别之前不得不了解的事务的四大特性。 1、原子性(Atomicity) 事务开始后所有操作,要么全部做完,要么全部不做。事务一个不可分割的整体。...事务在执行过程中出错,会回滚到事务开始之前的状态,以此来保证事务的完整性。类似于原子在物理上的解释:指化学反应不可再分的基本微粒,原子在化学反应中不可分割 。...select * from tb_bank where id=1;//查询结果:1100 ⑥ session2:因为某种原因,转入失败,事务回滚。...可重复读的。到这里产生了一个疑问,那session1在读到的结果中依然session2更新前的结果,那session1中继续转入100能得到正确的1200的结果?...insert、update和delete会更新版本号,当前读(当前版本)。

70810

Mysql查询及高级知识整理(上)

从查询开始: SELECT 查询列表 FROM 表名或视图列表 【WHERE 条件表达式】 【GROUP BY 字段名 【HAVING 条件表达式】】 【ORDER BY 字段...【ASC|DESC】】 【LIMIT m,n】; 要想运行一条SQL,先要写的并不是select,而是from,先决定从哪一个表开始查,再筛选条件。...Mysql事务 事务:事务就是保持数据一致性 特性:ACID,简称原子一致隔离持久。 原子性(Atomicity):原子意为最小的粒子,或者说不能再分的事物。...数据库事务的不可再分的原则即为原子性。 组成事务的所有查询必须:要么全部执行,要么全部取消(就像上面的银行例子)。 一致性(Consistency):指数据的规则,在事务前/后应保持一致。...索引 对列或多列进行排序的数据结构; 查看索引:select index from user; 创建索引:默认设置主键时创建索引的, Crete id int(60)AUTO_INCREMENT

78840

长文一次说完MySQL常用语句和命令等汇总

事务的四个特征ACID 事务相关的语句只有:DML语句。(insert delete update) 假设所有的业务的都能使用一条DML语句搞定,还需要事务机制?...要想保证以上的两条DML语句同时成功或者同时失败,那么就需要使用数据库的“事务机制”。 事务可以保证多个操作原子性,要么全成功,要么全失败。...对于数据库来说事务保证批量的DML要么全成功,要么全失败。 事务的四个特征ACID 原子性(Atomicity) 整个事务中的所有操作,必须作为一个单元全部完成(或全部取消)。...假设所有的业务的都能使用一条DML语句搞定,还需要事务机制? 不需要事务。但实际情况不是这样的,通常一个“事儿(事务【业务】)”需要多条DML语句共同联合完成。...视图示例: create view myview2 as select empno a,ename b,sal c from emp_bak; select * from myview2; insert

72920

8-TCL事务控制语言

收款方余额修改 整个事务中两条语句必须全部正常执行,或者都不执行,否则就会发生逻辑上的错误 事务的ACID实现 Atomicity 原子性:原子事务一个不可分割的工作单元,事务中的操作要么都发生...Atomicity 原子性:原子事务一个不可分割的工作单元,事务中的操作要么都发生,要么都不发生 2....; # 在禁用自动提交功能时,就已经默认开启事务了,所以这条语句可以省略 # 步骤二:编写事务中的sql语句(SELECT,INSERT,UPDATE,DELETE等DML,DQL语言。...VALUES('Lily',1800); INSERT INTO bank VALUES('Bob',350); SELECT * FROM bank; # 转账事件 SET autocommit=0...,'Herry',76); SELECT * FROM classone; # 回滚点应用 SET autocommit=0; START TRANSACTION; DELETE FROM classone

65210

SQL基础【十八、事物】(sql事物慎用,还是写业务逻辑代码好一些,入伙涉及到更换数据啥的很麻烦!)

书面解释:事务具有原子性,一致性,隔离性,持久性(ACID) A 原子性:事务必须一个自动工作的单元,要么全部执行,要么全部不执行。...--表本身为空表,ID ,Numb为int 类型,其它为nvarchar类型 select * from lives 3、事务设置保存点 利用save transaction   和rollback...,Numb为int 类型,其它为nvarchar类型 select * from lives 注:事务保存点以上的都将影响,当提交事务以后,只有保存点之前的语句被执行。...A --提交整个事务信息 end catch go select * from dbo.lives go 回滚保存点B时 即保存点以下部分均要回滚, 注:使用保存点 无论try 或 catch...('狗肉','篮球',3) commit tran select * from lives 为on时,结果集为空,因为运行数据过大溢出出错,回滚整个事务

45120

MySQL技能完整学习列表8、触发器、视图和事务——1、触发器(Triggers)的使用——2、视图(Views)的创建和使用——3、事务(Transactions)的管理

以下一个测试上面创建的触发器的示例: INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com'); SELECT *...FROM users; -- 查看插入的记录,created_at字段应该被自动设置了当前时间 视图(Views)的创建和使用 MySQL的视图(Views)一种虚拟的表,它是根据SELECT语句的结果集创建的...以下一个使用上面创建的UserNamesAndEmails视图的示例: SELECT * FROM UserNamesAndEmails; -- 查询视图中的所有数据 还可以对视图应用筛选条件、排序等操作...事务的基本要素 事务具有以下四个基本要素,通常简称为ACID特性: 原子性(Atomicity):事务一个不可分割的工作单位,事务中的操作要么都发生,要么都不发生。...这个操作需要同时更新两个账户的余额,并且要保证这两个更新操作的原子性,即要么都成功,要么都失败。我们可以使用事务来实现这个需求。

30910

【愚公系列】2022年01月 Mysql数据库-事务

6.事务的四大特征(ACID) 原子性(atomicity) 原子事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响..., 导致两次查询结果不一致 不可重复读 指在一个事务处理过程中读取了另一个事务中修改并已提交的数据, 导致两次查询结果不一致 幻读 select 某记录是否存在,不存在,准备插入此记录,但执行 insert...select * from account; -- 提交事务 commit; -- 查询账户表 select * from account; 幻读的问题和解决 窗口1 -- 设置隔离级别为repeatable...INSERT INTO account VALUES (3,'王五',1500); -- 查询账户表,本窗口可以查看到id为3的结果 SELECT * FROM account; -- 提交事务 COMMIT...出现了幻读 INSERT INTO account VALUES (3,'测试',200); -- 提交事务 COMMIT; -- 查询账户表,查询到了新添加的id为3的记录 select * from

33430

秘诀四:拿捏事务机制(1)

其中: § A:原子指一个事务中的所有操作要么全部执行成功,要么全部执行失败。一个事务执行以后,数据库只可能处于上述两种状态之一。...以一条SELECT语句和一条INSERT语句为例,简要描述显式事务和隐式事务在openGauss集群中的主要执行流程。...显式事务的SQL语句如下(假设表t只包含一个整数类型字段a,且为分布列): START TRANSACTION; SELECT * FROM t; INSERT INTO t(a) VALUES (100...2)SELECT * FROM t 该SQL语句首先在CN上执行,由于openGauss分片采用一致性哈希算法,因此对于不带分布列上谓词条件的查询语句,CN需要将该SQL语句发送到所有DN实例上执行。...上述操作的隐式事务语句如下(假设表t只包含一个整数类型字段a,且为分布列): SELECT * FROM t; INSERT INTO t(a) VALUES (1); 1)SELECT * FROM

38710

玩转Mysql系列 - 第13篇:详解事务

事务的几个特性(ACID) 原子性(Atomicity) 事务的整个过程如原子操作一样,最终要么全部成功,或者全部失败,这个原子从最终结果来看的,从最终结果来看这个过程不可分割的。...Mysql中事务操作 mysql中事务默认隐式事务,执行insert、update、delete操作的时候,数据库自动开启事务、提交或回滚事务。...只读事务 表示在事务中执行的一些只读操作,如查询,但是不会做insert、update、delete操作,数据库内部对只读事务可能会有一些性能上的优化。...; T3 start transaction; T4 insert into test1 values (1); T5 select * from test1; T6 select * from...; T3 start transaction; T4 insert into test1 values (1); T5 select * from test1; T6 select * from

76920
领券