MySQL视图

1. 视图的概念

视图是一张虚表,本质上SQL的检索语句,不存储任何的数据成分。

视图好处

  • 简化查询SQL,直接对视图进行查询,不用管视图具体生成的细节;
  • 可用表的部分成为视图,保护数据,开放用户权限时,可只开放视图,而不开放实体表;
  • 修改数据结构,可直接对已有的表建立视图,使用不同的表名、字段名称。

说明

  • 对视图的操作只能停留在查询上
  • 如果是单表生成的视图还可以进行插入数据;如果是多表关联生成的视图,插入不会起作用
  • 任何时候如果关联3张表以上就是不符合规范,严重的拖累查询性能。视图也是如此,使用复杂的嵌套视图和多表关联也会极大的降低查询性能

2. 视图的规范

  • 视图是虚表,有表的部分特性:视图名 唯一,与表名类似
  • 如果非管理员用户,创建视图必须有创建权限
  • 视图本质是查询语句,故视图可以嵌套,可与其他表进行联结
  • 视图不能有索引和触发器

3. 视图语句

视图需要MySQL5.0以上才支持

1. 创建视图与创建表类型

create view语句用于创建视图

2. 显示视图创建语句

show create view viewName

3. 删除视图

drop view viewName

4. 更新视图

create or replace view

4. 视图操作

1. 新建简单的视图示例

create view `view_order` as SELECT `id`,`order_name`,`year` FROM `order`;
  • 使用order表的idorder_nameyear三个字段组成视图,as后面就是查询语句,也可以是子查询、多表关联等复杂的查询语句

2. 查询视图,其使用本质与查询表一样

SELECT * FROM `view_order`;

3. 向视图中插入数据,插入的数据直接插入到实体表order

INSERT INTO `view_order` (`order_name`,`year`) VALUES ('小可可的订单',2021);

4. 删除视图

drop view `view_order`;

5. 小结

  • 视图本质是查询语句,可对一些简单的数据统计做成视图
  • 如果是开放权限给第三方公司,使用视图查询部分实体表的数据作为开放的表也是对视图的合理应用
  • 可将简单的表联结成视图,简化开发
  • 视图是虚表,只拥有表的部分功能
  • 15
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值