MySQL视图篇,视图的优缺点以及如何创建视图

视图,虚拟表,从一个表或多个表中导出来的表,作用和真实表一样,包含一系列带有行和列的数据 视图中,用户可以使用SELECT语句查询数据,也可以使用INSERT,UPDATE,DELETE修改记录,视图可以使用户操作方便,并保障数据库系统安全

优点及缺点

优点

简单化,数据所见即所得

安全性,用户只能查询或修改他们所能见到得到的数据

逻辑独立性,可以屏蔽真实表结构变化带来的影响

缺点

性能相对较差,简单的查询也会变得稍显复杂

修改不方便,特变是复杂的聚合视图基本无法修改

创建视图语法详解

语法结构:

{ CREATE|REPLACE } [ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

VIEW view_name [{column_list}]

AS SELECT_STATEMENT

[WITH [CASCADED | LOCAL |] CHECK OPTION]

释义:

CREATE|REPLACE : 【创建|替换已创建的】视图

ALGORITHM : 视图算法

1.UNDEFINED 系统自动选择算法2.MERGE使用的视图语句与视图定义合并起来3.TEMPTABLE 结果存入临时表,然后用临时表执行语句view_name : 视图名称

column_list : 属性列

SELECT_STATEMENT :SELECT语句

[WITH [CASCADED | LOCAL |] CHECK OPTION] 表示视图在更新时保证在视图的权限范围内

1.CASCADED 默认值 更新视图时要满足所有相关视图和表的条件,2.LOCAL表示更新视图时满足该视图本身定义的条件即可。

示例用表

示例表t_user

示例用表t_user_info

创建视图示例

# 1_1 在单表中创建视图

CREATE VIEW test_view_1 AS SELECT `name` FROM t_user;

创建视图代码运行成功如图

# 1_2 查询视图

SELECT * FROM test_view_1;

查询结果如图所示

# 2_1 创建视图并指定视图字段名

CREATE VIEW test_view_2(username) AS SELECT `name` FROM t_user;

创建视图代码运行结果

# 2_2 查询视图

SELECT * FROM test_view_2;

如查询出来的字段名称为指定的usernam

# 3_1 在多表中创建视图

CREATE VIEW test_view_3 (username, userage, usersex) AS SELECT

t_user.`name`,

t_user_info.age,

t_user_info.sex

FROM

t_user,

t_user_info

WHERE

t_user.id = t_user_info.uid;

在多表中创建视图运行成功

# 3_2 查询视图

SELECT * FROM test_view_3;

多表视图查询结果

转载于:https://my.oschina.net/fairy1674/blog/3089283

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值