mysql--浅谈视图1

Posted pang-jie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql--浅谈视图1相关的知识,希望对你有一定的参考价值。

这是对自己学习燕十八老师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:未定义,系统帮你选择

 

 

如有错误 欢迎指正

 

以上是关于mysql--浅谈视图1的主要内容,如果未能解决你的问题,请参考以下文章

如何在片段中填充列表视图?

从mysql的片段中加载ListView

MySQL初级篇——视图的相关概念及应用举例

MySQL初级篇——视图的相关概念及应用举例

浅谈Mybatis

iOS之浅谈纯代码控制UIViewController视图控制器跳转界面的几种方法