MySql之视图

视图

1 视图的定义
视图是由查询结果形成的一张**虚拟表,**是通过某种运算得到的一个投影.
同一张表可以创建多个视图.
创建视图的方法:
create view view_name
as select 语句
说明:
1 视图名和表明是一个级别的名字,隶属于数据库(在A数据库中创建的视图不能在B数据库中使用)
2 该语句的含义可以理解为:就是将该select语句命名为该名字(视图名)
3 视图也可以设定自己的字段名,而不是select语句本身的字段名—通常不设置
4 视图的使用几乎和表一样.

视图的作用

一 可以简化查询
案例1: 查询平均价格前3高的栏目.
传统的SQL语句写法.
查询ecs_goods表的cat_id,和商品的平均价格 并且根据cat_id分组再根据平均价格降序排列.
在这里插入图片描述
使用limit获取前三条数据
在这里插入图片描述
那么这种SQL是比较长的,为了简化查询,先创建视图
在这里插入图片描述
那么为了得到查询的数据并且简化查询,我们只需要查询视图即可

在这里插入图片描述
现在为了得到前三条数据则为查询增加条件

在这里插入图片描述
案例2:查询出商品表,以及所在的栏目名称:
同上;
传统sql写法:
在这里插入图片描述
创建视图简化查询:
在这里插入图片描述
二 可以根据权限控制
把表的权限封闭,但是开放相应的视图权限,视图里只开放部分数据,比如某张表用户表为例
2个网站搞合作,可以查询对方网闸的用户,需要向对方开放用户表的权限,但是呢,又不想开放用户表中的密码字段.
再比如一个goods表,两个网站合作,可以相互查询对方的商品表,但是进货价格不能让对方查看.

表和视图的关系

视图是表的查询结果,自然表的数据改变了,影响视图的结果.同样,视图改变也会造成表的改变.
① 视图的数据与表的数据一一对应(没有牵扯到计算),可以修改.
② 视图增删改查也会影响表,但是视图并不是总是能增删改的.例如一个视图的平均价格字段是通过表调用avg函数得出的结果,但是通过视图直接修改平均价格是不通过的.
③ 对于视图insert还应注意,视图必须包含表中没有默认值的列.(换句话说,insert插入视图的时候,需要在视图中把没有默认值的字段设置上值才可以插入,不然无法完成插入)
注意,视图一般是用来查询的,不应该执行增删改操作.

视图算法

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值