6.1、什么是事务
2021年12月24日
14:57
要么成功,要么都失败
------------
1、SQL执行 A给B 转账 A 1000 ---->200 B 200
2、SQL执行 B收到A的钱 A 800 ---> B 400
---------
将一组SQL放在一个批次中去执行~
事务原则:ACID 原则 原子性,一致性,隔离性,持久性 (脏读,幻读…)
参考博客链接:https://blog.csdn.net/dengjili/article/details/82468576
原子性(Atomicity)
要么都成功,要么都失败
一致性(consistency)
事务前后的数据完整性要保证一致,100
持久性(Durability) ---事务提交
事务一旦提交则不可逆,被持久化到 数据库中!
隔离性(lsolation)
事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,事务之间相互隔离。
隔离所导致的一些问题
脏读:
指一个事务读取了另外一个事务未提交的数据。
不可重复读:
在一个事务内读取表中的某一行数据,多次读取结果不同。(这个不一定是错误,只是某些场合不对)
虚读(幻读)
是指在一个事务内读取到了别的事务插入的数据,导致前后读取不一致。
执行事务

模拟场景

6.2、什么是视图
2021年12月24日
18:18
视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。
6.3、为什么要使用视图
因为视图的诸多优点,如下
- 简单:使用视图的用户完全不需要关心后面对应的表的结构、关联条件和筛选条件,对用户来说已经是过滤好的复合条件的结果集。
- 安全:使用视图的用户只能访问他们被允许查询的结果集,对表的权限管理并不能限制到某个行某个列,但是通过视图就可以简单的实现。
- 数据独立:一旦视图的结构确定了,可以屏蔽表结构变化对用户的影响,源表增加列对视图没有影响;源表修改列名,则可以通过修改视图来解决,不会造成对访问者的影响。
总而言之,使用视图的大部分情况是为了保障数据安全性,提高查询效率。
2021年12月24日
18:19
6.4、视图操作
2021年12月24日
18:19

注意:推荐使用WHIT [CASCADED|LOCAL] CHECK OPTION选项,可以保证数据的安全性,所以建议加上它。
推荐语法格式:


查询结果:


查询结果:

使用show create view语句查看视图信息,比如

create or replace view view_name as select语句;
在视图存在的情况下可对视图进行修改,视图不在的情况下不可创建视图

注意:
有下列内容之一,视图不能做DML操作:
– select子句中包含distinct
– select子句中包含组函数
– select语句中包含group by子句
– select语句中包含order by子句
– select语句中包含union 、union all等集合运算符
– where子句中包含相关子查询
– from子句中包含多个表
– 如果视图中有计算列,则不能更新
– 如果基表中有某个具有非空约束的列未出现在视图定义中,则不能做insert操作
- alter 语句修改视图
- 视图更改
- 查看视图
- 创建多表视图
- 创建单表视图
- [WITH [CASCADED | LOCAL] CHECK OPTION]:表示视图在更新时保证在视图的权限范围之内
- or replace:表示在创建视图时候会替换已有视图
- select_statement:表示select语句
- 创建视图
6.5、索引分类
2021年12月24日
14:57
MySQL官方对索引的定义为:索引(Index)是帮助MySQL高效获取数据的数据结构。0.5s 0.00001s
提取句子主干,就可以得到索引的本质:索引是数据结构。
在一个表中,主键索引只能有一个,唯一索引可以多个
- 主键索引(primary key)
- 唯一的标识、主键不可重复,只能有一个列作为主键
- 唯一索引(unique key)
- 避免重复的列出现,唯一索引可以重复,多个列都可以标识为 唯一索引
- 常规索引(key/index)
- 默认的,index、key关键字来设置
- 全文索引(fulltext)
- 在特定的数据库引擎下才有,MylSAMA
- 快速定位数据
基础语法


6.6、索引原则
- 索引不是越多越好
- 不要对进程变动数据加索引
- 小数据量的表不需要加索引
- 索引一般加在常用查询的字段上!
索引的数据结构
Hash 类型的索引
Btree:InnoDB 的默认数据结构~
阅读:http://blog.codinglabs.org/articies/theory-of-mysql-index.html
505

被折叠的 条评论
为什么被折叠?



