sql-5-事务,索引
事务
1、ACID概念
原子性(Atomicity)
- 要么都成功,要么都失败
一致性(consistency)
- 事务前后的数据完整性保持一致
持久性(Durability)
- 事务一旦提交则不可逆,持久保存到数据库中(事务一旦提交,即使立刻关闭服务器也会持久保存)
隔离性(Isolation)
- 多个用户或多个事务同时进行时,相互不影响
2、四种隔离级别
- 脏读
- 只一个事务读取了另外一个事务未提交的数据。
- 不可重复读
- 在一个事务内读取表中的一行数据,多次读取结果不一样(因为别人提交了数据)
- 虚读(幻读)
- 是指一个事务读取了别的事务插入的数据,导致前后读取不一致。
3、事务处理操作顺序
-- mysql时默认开始事务自动提交的
set autocommit = 0;
set autocommit = 1;
-- 事务开启
-- 标记一个事务的开始,从这个之后的sql都在一个事务内了
start transaction;
insert xx;
insert xx;
-- 提交:之后就会持久化
commit;
-- 回滚:提交失败之后的处理,还原处理前数据
rollback
-- 结束后需要开启事务自动提交

4、模拟场景
-- 创建shop数据库
CREATE DATABASE `shop` CHARACTER SET utf8 COLLATE utf8_general_ci;
USE shop;
-- 创建表单
CREATE TABLE `account`(
`id` INT(3) NOT NULL AUTO_INCREMENT,
`name` VARCHAR(20) NOT NULL ,
`money` DECIMAL(9,2) NOT NULL,
PRIMARY KEY(`id`)
)ENGINE=INNODB DEFAULT CHARSET=utf8;
-- 输入原始数据
INSERT INTO `account`(`name`,`money`)
VALUES('A',1000.00),
('B',2000.00);
-- 正式开始
SET autocommit=0; -- 关闭自动提交
START TRANSACTION; -- 开启一个事务
UPDATE account
SET money=money-200
WHERE `name`='A';
UPDATE account
SET money=money+200
WHERE `name`='B';
COMMIT; --认为数据改好就可以提交了,一旦提交不能回复
ROLLBACK; -- 只要觉得数据改的不好,可以直接回到原始状态
SET autocommit=1; --数据改好之后需要把自动提交打开
索引
mysql定义:索引(index)是帮助mysql高效获取数据的数据结构
提取句子主干,就可以得到索引的本质:索引是数据结构
1、索引的分类
主键索引(primary key)
- 唯一索引(unique key)
- 常规索引(key/index)
- 全文索引
sql-5-事务,索引的更多相关文章
- 人人都是 DBA(VI)SQL Server 事务日志
SQL Server 的数据库引擎通过事务服务(Transaction Services)提供事务的 ACID 属性支持.ACID 属性包括: 原子性(Atomicity) 一致性(Consisten ...
- SQL Server 数据库索引
原文:SQL Server 数据库索引 一.什么是索引 减少磁盘I/O和逻辑读次数的最佳方法之一就是使用[索引] 索引允许SQL Server在表中查找数据而不需要扫描整个表. 1.1.索引的好处: ...
- 第七章 mysql 事务索引以及触发器,视图等等,很重要又难一点点的部分
[索引] 帮助快速查询 MyISAM ,InnoDB支持btree索引 Memory 支持 btree和hash索引 存储引擎支持 每个表至少16个索引 总索引长度至少256字节 创建索引的优 ...
- mysql学习【第5篇】:事务索引备份视图
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第5篇]:事务索引备份视图 MySQL事务 事务就是将一组SQL语句放在同一批次 ...
- SQL Server 查询优化 索引的结构与分类
一.索引的结构 关系型数据库中以二维表来表达关系模型,表中的数据以页的形式存储在磁盘上,在SQL SERVER中,数据页是磁盘上8k的连续空间,那么,一个表的所有数据页在磁盘上是如何组织的呢?分两种情 ...
- 为什么说JAVA中要慎重使用继承 C# 语言历史版本特性(C# 1.0到C# 8.0汇总) SQL Server事务 事务日志 SQL Server 锁详解 软件架构之 23种设计模式 Oracle与Sqlserver:Order by NULL值介绍 asp.net MVC漏油配置总结
为什么说JAVA中要慎重使用继承 这篇文章的主题并非鼓励不使用继承,而是仅从使用继承带来的问题出发,讨论继承机制不太好的地方,从而在使用时慎重选择,避开可能遇到的坑. JAVA中使用到继承就会有两 ...
- SQL Server 事务复制分发到订阅同步慢
原文:SQL Server 事务复制分发到订阅同步慢 最近发现有一个发布经常出现问题,每几天就出错不同步,提示要求初始化.重新调整同步后,复制还是很慢!每天白天未分发的命令就达五六百万条!要解决慢的问 ...
- SQL Server之索引解析(一)
SQL Server之索引解析(一) 1.写在前面 微软专门给出SQL Server设计思路及实现路线,从7大体系结构阐述是如何实现,通过了解这些,我们就可以总结出数据库设计原则.编程中sql写法 ...
- mysql 视图 触发器 存储过程 函数事务 索引
mysql 视图 触发器 存储过程 函数事务 索引 视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当 ...
- SQL语句-创建索引
语法:CREATE [索引类型] INDEX 索引名称ON 表名(列名)WITH FILLFACTOR = 填充因子值0~100 GO USE 库名GO IF EXISTS (SELECT * FRO ...
随机推荐
- 算法编程Algos Programming
算法编程Algos Programming 不同算法的集合,用于编程比赛,如ACM ICPC. 算法按主题划分.大多数算法都可以从文件中按原样运行.每种算法都有一个参考问题,并对其时间和空间复杂度作了 ...
- yum install php-bcmath-5.4.16-42.el7.x86_64.rpm安装报错
[root@zabbixserver lnmp_soft]# yum install php-bcmath-5.4.16-42.el7.x86_64.rpm 已加载插件:langpacks, prod ...
- 【工具解析】瑞士军刀bettercap2.X_解析_第二期_内网钓鱼(嗅探)工具编写
/文章作者:Kali_MG1937 CNBLOG博客:ALDYS4 QQ:3496925334/ 第一期: https://www.cnblogs.com/aldys4/p/14877783.html ...
- 【NX二次开发】Block UI 选择小平面区域
属性说明 属性 类型 描述 常规 BlockID String 控件ID Enable Logical 是否可操作 Group ...
- 面试常问的Java虚拟机内存模型,看这篇就够了!
一.虚拟机 同样的java代码在不同平台生成的机器码肯定是不一样的,因为不同的操作系统底层的硬件指令集是不同的. 同一个java代码在windows上生成的机器码可能是0101.......,在lin ...
- Redis不是只有get set那么简单
我以前还没接触Redis的时候,听到大数据组的小伙伴在讨论Redis,觉得这东西好高端,要是哪天我们组也可以使用下Redis就好了,好长一段时间后,我们项目中终于引入了Redis这个技术,我用了几下, ...
- 不下软件,照样可以完美正确格式化树莓派SD卡!(恢复U盘/SD卡到满容量)
树莓派作用千千万,系统崩溃的理由也数不胜数(不要问我为啥知道),所以系统的重装和sd卡的格式化也在所难免.顺便给大家看一下我今天的成果,我不就是不小心摔了一下我的树莓派...我和sd卡一定是冤家! 捡 ...
- 微软官方 Win 11 “体检工具”太烂了?开发者自己做了一个
1.Win 10 免费升级到 Win 11 最近微软官方终于宣布了 Windows 11,不仅带来了全新的 UI,而且还有很多新功能:比如支持 Android 应用. 虽然微软官方已说明 Win 10 ...
- excel计数函数COUNTIF、COUNTIFS
1.单条件计数:COUNTIF(条件区域,指定条件) =COUNTIF($H$2:$H$8,L2)求H2:H8中值等于L2的行记录数,这里求的是游泳项目总共有多少个人参加 2.多条件计数:COUNTI ...
- 27、Tomcat服务的安装与配置
服务器名称 ip地址 slave-node1 172.16.1.91 27.1. Tomcat简介: Tomcat是Apache软件基金会(Apache Software Foundation)的Ja ...