博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
133 MySQL视图、事务、索引(都很重要)
阅读量:5171 次
发布时间:2019-06-13

本文共 1628 字,大约阅读时间需要 5 分钟。

目录

一、视图:view

  1. 视图是存在内存中的临时表
  2. 视图的创建依赖select语句,所以就是select语句操作的结果形参的表
  3. 视图支持对数据的增删查改
  4. 视图不允许对视图表的字段做修改
  5. 视图不仅支持创建,也支持更新与删除
# 数据依赖:单表emp# 语法# 创建视图mysql>: create view 视图名[(别名们)] as select 语句;eg>: create view v1 as select dep, max(salary) from emp group by dep;# 创建或替换视图mysql>: create or replace view 视图名[(别名们)] as select 语句;eg>: create or replace view v1(dep_name, max_salary) as select dep, max(salary) from emp group by dep;# 修改视图mysql>: alter view 视图名[(别名们)] as select 语句;eg>: alter view v1(name, salary) as select dep, max(salary) from emp group by dep;# 删除视图mysql>: drop view 视图名eg>: drop view v1;

视图的增删改查

视图的增删改操作可以直接映射给真实表(本质就是对真实表进行操作)

# 操作视图等于操作真实表# 增,增加数据insert into v1(name,salary) values('yangsir', 1.11);    # 删,删除视图记录delete from v1 where id=1;# 改,修改视图数据update v1 set salary=salary+1 where id=1;# 查, 查看视图数据select * from v1;# 总结:操作视图,会影响真实表,反之也会影响select * from emp;

总结:操作视图,会影响真实表,反之也会影响视图

二、事务

  • 事务:通常一些业务需要多条sql参与,参与的sql会形参一个执行整体,该整体我们就称之为 事务
  • 简而言之:事务 - 就是保护多条执行的sql语句

事务的四大特性

  1. 原子性:事务是一组不可分割的单位,要么同时成功,要么同时不成功
  2. 一致性:事物前后的数据完整性应该保持一致(数据库的完整性:如果数据库在某一时间点下,所有的数据都符合所有的约束,则称数据库为完整性的状态)
  3. 隔离性:事物的隔离性是指多个用户并发访问数据时,一个用户的事物不能被其它用户的事务所干扰,多个并发事务之间数据要相互隔离
  4. 持久性:持久性是指一个事物一旦被提交,它对数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响
# 语法begin;  # 开启事务update emp set salary=salary+1 where id=2;update emp set salary=salary-1 where id=3;commit; # 确认无误,提交事务rollback;   # 确认有误,回滚

三、索引

索引就是 键 - key

索引可以极大的加快查询速度

1)键 是添加给数据库表的 字段 的2)给表创建 键 后,该表不仅会形参 表结构、表数据,还有 键的B+结构图3)键的结构图是需要维护的,在数据完成增、删、改操作时,只要影响到有键的字段,结构图都要维护一次    所以创建键后一定会降低 增、删、改 的效率4)键可以极大的加快查询速度(开发需求中,几乎业务都和查有关系)5)建立键的方式:主键、外键、唯一键、index(普通索引,加快普通数据的查询速度)

转载于:https://www.cnblogs.com/XuChengNotes/p/11595343.html

你可能感兴趣的文章
写一篇总结
查看>>
兼容IE8以下,获取className节点的元素(document.getElementsByClassName()兼容写法)。
查看>>
UTF与ascii区别
查看>>
auto-sklearn简介
查看>>
CocoaPods安装记录
查看>>
HDU1760 A New Tetris Game NP态
查看>>
css3 选择器
查看>>
在SQL Server 语句中,如何将参数做为表名传递到查询语句中
查看>>
“System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生
查看>>
Android Studio 自定义字体显示英文音标
查看>>
登录首页时报错:java.lang.IllegalArgumentException (不合法的参数异常)
查看>>
【深度解析】Google第二代深度学习引擎TensorFlow开源
查看>>
block
查看>>
作业三——改进目标
查看>>
【校园电子书城】测试及部署
查看>>
WAMP(Windows+Apache+Mysql+PHP)环境搭建
查看>>
golang调用c++的dll库文件
查看>>
知识点篇:7)企业标准体系制定要求
查看>>
php’s explode() 函数
查看>>
Spring AOP的实现思想之动态代理
查看>>