mysql学习笔记之视图

本文详细介绍了数据库中视图的创建、查询、修改和删除操作,强调了视图作为数据抽象层在节省SQL语句、数据安全、权限控制等方面的重要作用。视图可以简化复杂查询,提供数据的安全隔离,并在多系统协作中发挥关键作用。

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

创建视图

基本语法:create view + 视图名 + as + select语句;
其中,select语句可以实普通查询,也可以是链接查询,联合查询,子查询;
根据视图的数据来源,可以分为单表视图和多表视图:
例如:

create view myv1 as 
select  sname,class from students;

在这里插入图片描述
创建成功
注意: 视图的基表有多张的时候,字段名不能重复。

查询视图结构

因为视图是基于select查询得到的一张虚拟表,使用表的查询语句都适用于视图。

  • desc + 视图名;
  • show tables + 视图名;
  • show create table + 视图名;
    此外,视图一旦创建,系统就会在视图对应的数据库文件夹下创建一个对应的frm结构文件,以保证结构的完整性。

使用视图

在操作数据库表的过程中,使用视图,主要就是为了查询,因此将视图当做表一样查询即可。

在这里需要注意的是,虽然我们说视图是一个虚拟表,它不保存数据,但是它却可以获取数据。
例如:

select * from myv1;

在这里插入图片描述
我们可以认为,创建视图就是给一条select语句起别名,或者说就是封装select语句。

修改视图

视图本身是不可修改的,但是视图的来源select语句是可以修改的。
基本语法: alter view + 视图名+as + 新的select语句;

删除视图

基本语法: drop view +视图名;
在这里插入图片描述
删除完成

视图的意义

  • 视图可以节省 SQL 语句,将一条复杂的查询语句用视图来进行封装,以后可以直接对视图进行操作;
  • 数据安全,视图操作主要是针对查询的,如果对视图结构进行处理,例如删除,并不会影响基表的数据;
  • 视图往往在大型项目中使用,而且是多系统使用,可以对外提供有用的数据,但是隐藏关键(或无用)的数据;
  • 视图是对外提供友好型的,不同的视图提供不同的数据,就如专门对外设计的一样;
  • 视图可以更好(或者说,容易)的进行权限控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值