13、mysql中视图的应用

本文深入讲解了SQL视图的概念,包括视图的定义、作用、结构操作及数据操作。介绍了视图如何简化复杂查询,提高数据安全性,并对外提供友好的数据展示。同时,详细解释了视图的创建、修改、删除及查看结构的方法。

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

是什么

视图是一种有结构没结果的虚拟表,其结构是从基表中产生的,视图主要用于查询数据。在sql层面上来看,视图就是对select查

询语句的封装,我们看到的虚拟表(也就是视图)就是select语句查询出的结果组成的

视图的作用

视图可以节省sql语句,将一条复杂的查询语句用视图进行保存,之后对视图进行操作即可,方便操作

视图操作主要针对查询,对视图结构进行操作不会影响基表数据,相对安全

可以对外提供有用数据,隐藏关键(无用)数据,保证数据安全

对外提供友好型,不同视图提供不同数据,好像专门对外设计

视图可以更容易的权限控制

视图结构操作

视图的结构操作包括创建视图、修改视图、删除视图、查看视图结构

创建视图

#创建视图
create view user_card 
as
select u.name ,c.card_number from user u 
left join card c on u.id = c.uid  where card_number is not null;

修改视图

# 修改视图
alter view user_card 
as
select u.name ,c.card_number from user u left join card c on u.id = c.uid;

查看视图结构


# 查看视图(适用于表的就适用于视图)
-- 查看视图各个字段
desc user_card;

-- 查看创建sql语句
show create view user_card;

删除视图

# 删除视图
drop view user_card;

视图数据的操作

单表视图是可以进行新增、删除的,但是不推荐使用视图进行此操作,在这里不做介绍

视图是可以修改数据的,和操作表一样的进行更新数据即可,但是不推荐使用,在这里不做介绍

视图的作用是用来查询数据的,查询视图的sql和查询数据表一样

视图算法

视图算法指的是系统对视图以及外部查询视图的select语句的一种解析方式,分类如下:

temptable临时表算法,系统先执行视图的select语句,后执行外部查询语句
merge合并算法,系统应该先将视图对应的select语句与外部查询视图的select语句进行合并,然后执行(常态、效率高)

指定算法创建视图的操作

create algorithm=merge view user_card 
as
select u.name ,c.card_number from user u 
left join card c on u.id = c.uid  where card_number is not null;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值