MySQL十五:视图

视图

一、视图概述
  1. 概念

    一个或多个数据表里的数据的逻辑显示,视图并不存储数据,是一种虚拟表

  2. 引入

    2.1 可以帮助我们只使用表的一部分,而不是所有的表

    2.2 可以针对不同的用户指定不同的查询视图

  3. 理解

    3.1 视图的创建和删除不影响对应的基表,数据的增删改会影响基表

    3.2 是存储起来的SELECT语句

    3.3 向用户提供基表数据的另一种表现形式。

二、创建视图
  1. 创建结构
    CREATE VIEW 视图名(字段名1, 字段名2, ...)
    AS
    SELECT 查询语句
    
  2. 结构分类

    基于单表查询结构

    基于多表查询结构

    基于视图的查询结构

三、查看视图
  1. 查看数据库的视图对象
    SHOW TABLES;
    
  2. 查看视图的结构
    DESC 视图名称;
    
  3. 查看视图的属性信息
    # 查看视图的存储引擎、版本、数据行数和数据大小等
    SHOW TABLE STATUS LIKE '视图名'\G;
    

    如果执行结果中,Comment为VIEW,说名该表是视图,其它信息为null,说明该表是虚表

  4. 查看视图的详细定义信息
    SHOW CREATE VIEW 视图名;
    
四、视图的增删改
  1. 同表的增删改
  2. 不建议视图的增删改,要在表中进行增删改
五、视图的优点
  1. 简化查询

    可以使开发人员无需关系视图对应得数据表结构,表与表间得关联关系,数据之间得业务逻辑和查询条件,只需简单操作视图

  2. 减少数据冗余

    因为其不存储数据,故不用占用数据存储的资源,减少数据冗余

  3. 数据安全

    MySQL可将用户数据的访问限制在某些视图(数据的结果集)上,可理解为视图具有隔离性,相当于在用户和实际的数据表之间加了一层虚拟表,用户就不需要查询数据表,可直接通过视图获取信息。

  4. 适应灵活多变得需求

    当业务系统的需求发生变化,无需改动数据表结构,通过改动视图可减少改动工作量

  5. 分析复杂得查询逻辑

    可将复杂的查询逻辑,分解到多个视图中,再将创建的多个视图结合起来,完成复杂的查询逻辑

    注意:

    如果实际数据表的结构变更了,我们需要及时对相关的视图进行相应的维护,如果在项目中视图过多,会导致数据库维护成本的问题,所以创建视图要结合实际项目需求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

e_nanxu

感恩每一份鼓励-相逢何必曾相识

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

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

打赏作者

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

抵扣说明:

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

余额充值