MySQL数据库总结(7)视图
来源:互联网 发布:数据接口功能 编辑:程序博客网 时间:2024/04/30 19:41
- 1视图定义
- 2为什么要视图
- 3视图与表的关系
- 4视图的algorithm
1、视图定义:
视图是由查询结果形成的一张虚拟表
视图的创建语法:
Create view 视图名 as select 语句视图的删除语法:
Drop view视图的修改
Alter view as select xxxxxxx
2、为什么要视图?
1、可以简化查询
2 、以进行权限控制,把表的权限封闭,但是开发相应的视图权限,视图里只开放部分数据
3、大数据分表时可以用到
比如表的行数超过200万行时,就会变慢,可以把一张的表的数据拆成4张表来存放news表
news1,news2,news3,news4表
- 把一张表的数据分散到4张表里,分散的方法很多,
最常用可以用id,取模来计算
Id%4+1 = [1,2,3,4]
- 把一张表的数据分散到4张表里,分散的方法很多,
还可以用视图,把4张表形成一张视图
Create view news as select from n1 union select from n2 union……
3、视图与表的关系
视图是表的查询结果,表的数据改变了,影响视图的结果
视图改变了呢?
视图增删改也会影响表
但是,视图并不总是能增删改的
答:视图的数据与表的数据 一 一对应时.可以修改
对于视图insert 还应注意,视图必须包含表中没有默认值的列
4、视图的algorithm
Algorihm = merge temptable undefined
Merge:当引用视图时,引用视图的语句与定义视图的语句合并
Temptable:当引用视图时,根据视图的创建语句建立一个临时表
Undefined:未定义,自动,让系统帮你选
(1)、Merge,意味着视图只是一个规则,语句规则,当查询视图时,
把查询视图的语句与创建时的语句合并,分析形成一条select语句
例:创建视图语句:
Create view g2 as select goods_id,cat_id,goods_name,shop_price from goods order by cat_id asc,shop_price desc;
查询视图的语句:
Select * from g2 group by cat_id;
最终执行的语句:
Select goods_id,cat_id,goods_name,shop_price from goods group by cat_id order by cat_id asc,shop_price desc;
(2)、temptable是根据创建语句瞬间创建一张临时表,然后查询视图的语句从该临时表查询数据
Create altorethm=temptable view g2 as select goods_id,cat_id,goods_name,shop_price from goods order by cat_id asc,shop_price desc;
查询视图的语句:
Select * from g2 group by cat_id;
最终执行的2句话,取数据并放在临时表,然后去查临时表.
- MySQL数据库总结(7)视图
- MySQL数据库视图总结
- 数据库(mysql)视图作用
- MySQL数据库视图
- mysql数据库之视图
- MySQL数据库视图详解
- MySQL数据库/视图
- MySql数据库-11视图
- mysql视图学习总结
- mysql视图学习总结
- mysql视图学习总结
- mysql视图学习总结
- mysql视图总结
- mysql视图学习总结
- mysql视图学习总结
- mysql 视图学习总结
- mysql视图学习总结
- Mysql视图使用总结
- hdoj--1716--排列2(暴力水题)
- 最小乘积
- 【iOS界面开发】视图开发技巧
- 使用CSS3线性渐变(linear-gradient)实现文本波浪线效果
- js基础与DOM
- MySQL数据库总结(7)视图
- 蓝桥杯历届-三羊献瑞
- test一下博客怎么写
- RxJava学习笔记1
- SQL Server 2008R2 :远程调用失败
- 剑指offer-矩形覆盖
- typedef struct用法
- Storm与Spark Streaming比较
- 从零开始OGRE