mysql数据库视图

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表示更新视图时满足该视图本身定义的条件即可。

示例表:
在这里插入图片描述
在这里插入图片描述
创建视图示例:

CREATE VIEW test_view_1 AS SELECT `name` FROM t_user;

在这里插入图片描述
查询视图:

SELECT * FROM test_view_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;

在这里插入图片描述
查询视图:

SELECT * FROM test_view_3;

在这里插入图片描述

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值