标签:div algorithm price 关系 test === 教程 bsp fine
这是对自己学习燕十八老师mysql教程的总结,非常感谢燕十八老师。
依赖软件:mysql5.6
系统环境:win
视图(view)
什么是视图?
答:视图是表通过某种运算得到的一个投影,占有一定空间的虚拟表
视图的作用
1、简化查询
2、权限管理
3、数据量大时利用视图进行分表
视图的创建
# 语法 create (algorithm=marge/temptable/undefined) view 视图名 as select语句
# 示例 create view test as select goods_id,cat_id,shop_price,goods_name from goods;
删除视图
# 语法
drop view 视图名
# 示例
drop view test;
视图的修改
# 语法 alter view 视图名 as select语句 # 示例 alter view test as select goods_id,cat_id,goods_name from goods;
视图与表的关系
视图是表的查询结果,自然表的数据改变了,影响视图的结果
反之
视图的数据改变了也会影响表的数据,但是视图并不是一定能被修改的
修改视图的条件
视图的数据必须和表的数据一一对应,就像数学中函数的映射
视图中的algorith
1、merge: 当引用视图时,引用视图的语句和定义视图的语句合并产生作用
# 示例 # 创建视图的语句: create algorithm=merge view g2 as select goods_id,cat_id,goods_name,shop_price from goods where shop_price>2000 # 查询视图的语句: select * from g2 where shop_price < 3000; # 最终执行的语句: select goods_id,cat_id,goods_name,shop_price from goods where shop_price > 2000 and shop_price < 3000
2、temptable: 当应用视图时,更加视图的创建语句建立一张临时表
# 示例 # 创建视图 create algorithm=temptable view g2 as select goods_id,cat_id,goods_name,shop_price from goods where shop_price > 2000 #查询视图的语句: select * from g2 where shop_price < 3000; # 最终执行的2句话: 取数据并放在临时表,然后去查临时表. Select goods_id,cat_id,goods_name,shop_price from goods where shop_price > 2000; ========> temptable # 再次查临时表 Select * from temptable where shop_price< 3000
3、undefined:未定义,系统帮你选择
如有错误 欢迎指正
标签:div algorithm price 关系 test === 教程 bsp fine
原文地址:https://www.cnblogs.com/Pang-Jie/p/10917185.html