您的位置:首页 > 数据库 > MySQL

mysql 视图

2015-06-20 10:36 411 查看


视图的定义:

视图 就是由查询结果组成的一张虚拟表
视图的创建语法:
create view视图名 as select
语句;



视图" />

显示表
将会被显示出来



视图" />

可以看到“表结构”


视图" />

和视图内容


视图" />

删除视图语法:
drop
view
视图名;


视图" />

视图修改
alter
view
视图名 as
select 语句;


创建视图的原因:
1
简化查询

2、 可以进行权限控制
比如:可以把
商品名称 等创建视图,把商品价格等“隐藏”。把表的权限保留,只把视图提供给别人。

3、大的数据分表时,可以用到数据。

比如:表的行数大于200 万行时,开始变慢,可以把一张表的数据拆成4张表(视图)来存放。
4、可以将多张表合并成一张表(视图)。结合 union
.


注意:
1可以完全把视图当作表看待。
2视图源于表,如果表的内容改变了,那么视图的内容也会跟着发生改变。
3视图的增删改也将会影响表,但是视图并不是总是可以增删改的。视图和表数据是一一对应时,可以修改。对于视图insert视图必须包含所有表中没有默认值的列。

视图的 algorithm(算法)[/b]
Algorithm =
merge/temptable/undefined

merge 当引用视图时,引用视图的语句和定义视图的语句合并。
意味着,视图只是一个规则,当查询视图时,
把查询视图的语句(比如where 等)与创建时的语句where子句合并分析,形成一条select语句。相当于把语句效果叠加。



视图" />

temptable当引用视图时,根据视图的创建语句,建立一个临时表。
是把
根据创建时候的语句瞬间创建临时表,查询视图的语句,从该临时表查询。



视图" />[/b]

undefined 未定义自动,让系统帮你选择。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: