ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

MySQL事务

2020-11-28 18:33:32  阅读:260  来源: 互联网

标签:autocommit 事务 -- money 索引 提交 MySQL


什么是事务

要么都成功,要么都失败

事务原则:ACID原则   原子性,一致性,隔离性,持久性   (脏读,幻读...)

原子性(Atomicity)

要么都成功,要么都失败

一致性(Consistency)

事务前后的数据完整性要保证一致。

持久性(Durability)   --事务提交

事务一旦提交则不可逆,被持久化到数据库中!

隔离性

事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务操作数据所干事务之间要相互隔离。

 

事务

mysql是默认开启事务自动提交的
SET autocommit =0  --关闭
SET autocommit=1   开启(默认的)
手动处理事务
SET autocommit =0   关闭自动提交
事务开启
START TRANSACTION    标记一个事务的开始,从这个之后的sql都在同一事务内
INSERT xx
INSERT xx
-- 提交:持久化  (成功!)
COMMIT
--回滚
ROLLBACK
--事务结束
SET autocommit=1    --开启事务自动提交
--了解
SAVEPOINT  保存点名    --设置一个事务的保存点
ROLLBACK TO SAVEPOINT   保存点名   --回滚到保存点
RELEASE SAVEPOINT 保存点名   --撤销保存点

模拟转账: 事务

CREATE TABLE `account`(
`id` int(3) not null AUTO_INCREMENT,
`name` varchar(30) not null,
`money` decimal(9,2) not null,
PRIMARY key (`id`)
)engine =innodb DEFAULT CHARSET =utf8

insert into account(name,money)
values("A",2000.00),("B",10000.00)

set autocommit =0;  --关闭自动提交事务
start transaction  --开启一个事务

update account set money=money-500 where name="A"    -- A 减500
update account set money=money+500 where name="B"    -- B加500

commit ;  -- 提交事务
rollback;  -- 回滚事务

set autocommit=1;  -- 恢复默认值

索引

 

MySQL 官方索引的定义:索引(index)是帮助MySQL高校获取数据的数据结构,提取句子主干,就可以得到索引的本质,索引是数据结构。

http://blog.codinglabs.org/articles/theory-of-mysql-index.html

1.索引分类

  • 主键索引(PRIMARY KEY)

          唯一的标识,主键不可重复,只能有一个列作为主键

 

  • 唯一索引(UNIQUE KEY)

          避免重复的列出现,唯一索引可以重复,多个列都可以标识位,唯一索引

 

  • 常规索引(KEY/INDEX)

          默认的,index,key 关键字类设置。

 

  • 全文索引(FULLTEXT)

         在特定的数据库引擎下才有,MyISAM

         快速定位

image.png

 

标签:autocommit,事务,--,money,索引,提交,MySQL
来源: https://blog.csdn.net/yyp0304Devin/article/details/110289089

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有