MySQL——视图

本文详细介绍了MySQL中的视图概念,视图是虚拟表,数据来源于引用的基本表。内容涵盖视图的创建、更新和删除。创建视图需满足特定条件,更新视图时需确保满足可更新条件。视图提供了对数据的另一种访问方式,但更改视图会影响基本表数据。
摘要由CSDN通过智能技术生成

1、视图概念

视图是一张虚拟表,由存储的表的查询构成,可以将其输出看作一个表。如真表一样。视图并不在数据库中存储数据值,其数据值来自定义视图的查询语句所引用的表,数据库只在数据字典中存储视图的定义的信息。

通过视图修改数据时,实际上就是在修改基本表中的数据。同时,改变基本表中的数据也会反映到由该表组成的视图中。双向影响。

2、创建视图

在当前用户模式中创建视图,要求数据库用户必须具有create view系统权限。如要在其他用户模式中创建视图,用户必须具有create any view系统权限。

创建视图语句如下:

create view view_name as

<subquery> //用于指定视图对应的子查询语句

with check point //该子句用于指定在视图上定义的CHECK约束(针对可更新的视图,即更新的值是否需要检查)

with read only; //该子句用于定义只读视图

创建视图举例:

查询视图举例:

3、更新视图

更新视图需要满足以下条件:

i、没有使用连接函数、聚合函数和组合函数

ii、创建视图的select语句中没有聚合函数且没有group by、connect by、start with子句及distinct关键字

iii、创建视图的select语句不包括从基表列通过计算所得的列

vi、创建视图没有包含只读属性

可更新视图举例:(insert into和update)

以下值得注意:

在创建视图时,只是将视图的定义信息存入数据字典,并不会执行其中的select语句。只在对视图进行查询时系统才会根据视图的定义从基本表中获取数据。

此外,修改视图中的数据就是修改基本表中的信息。

4、删除视图

举例(删除其他用户模式的视图需要权限):

执行drop view语句后,视图的定义将被删除,但这对视图内所有的数据没有任何影响,它们仍然存储在基本表中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值