mysql中的视图

本文介绍数据库视图的概念、创建及管理方法。视图作为一种虚拟表,可以简化复杂查询并提高数据安全性。文章还介绍了如何创建、查看、修改和删除视图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



视图是一个虚拟表,是从一个表或者多个表中导出的表。还可以从已经存在视图的基础上定义。视图一经定义就存储在数据库中,与其对应的数据并没有像表那样在数据库中再存储一份。对视图的操作与对表的操作一样,可以对其插入、删除和修改。当对通过视图看到的数据进行更改时,相应的基本表的数据也会发生变化。同时,若对基本表的数据发生变化,这种变化也会反映到视图中。

1、视图的优点

1)简单化:简化用户对数据的理解,也可以简化操作。经常使用的查询定义为视图,使得用户不必每次指定查询条件。

2)安全性:通过视图只能查询和修改所见到的数据。通过视图,可以将用户对数据库的检索限制在数据的不同子集上。

3)逻辑数据独立性:帮助用户屏蔽真实表结构变化带来的影响。

2、创建视图

语法格式如下

create [or replace] [algorithm = {undefined| merge | temptable}] view view_name[(column_list)] as select_statement [with[cascaded | local] check option]

with [cascaded|local] check option 参数表示视图在更新时保证在视图的权限范围之内

algorithm的取值有3个,undefined表示自动选择算法,merge表示将使用的视图语句与视图定义合并起来,使得视图定义的某一部分取代语句对应的部分,temptable表示将视图的结果存入临时表,然后用临时表来执行语句。

cascaded为默认值,表示更新视图时要满足所有相关视图和表的条件,local表示更新视图时满足该视图本身定义的条件即可。

3、查看视图

3.1 describe查看视图基本信息

语法:describe view_name

3.2 show table status 查看视图信息

语法: show table status like ‘view_name’

3.3 show create view查看视图详细信息

语法:show create view view_name

3.4 information_schema的表views表中查看详细信息

Select * from information_schema.views;

4、修改视图

4.1 create or replace修改视图

语法:create [or replace] [algorithm={undefined | merge|temptable}] viewview_name[(column_list)] as select_statement [with cascaded | local] checkoption]

4.2 alter修改视图

语法:alter [algorithm = {undefined | merge | temptable}] viewview_name[(column_list)] as select_statement [with [cascaded |local] checkoption]

5、删除视图

语法:drop view [if exists] view_name[,view_name…]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kgduu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值