视图 view

在查询中,我们常把查询结果当成临时表来看

view可以看作一张虚拟表,是表通过某种运算得到的一个投影

因此,表的变化会影响视图(继承了表中的数据)

创建视图

create view 视图名  as select 语句

创建成功后可当作表来使用

视图用处:

1.简化查询

比如:复杂的统计时,先用视图生成一个中间结果,在查询视图

2.更精细的权限控制

比如某张表,用户表为例

现在呢,两个网站搞合作,可以查询对方网站的用户,需要向对方开放用户表的权限,不开放用户表中的密码字段

create view vuser

as

select user_id,username,emial from user

开放这个视图的权限给对方

3.数据多,分表时可以用到。

比如小说站,article表,1000多万篇

分成article 1,art2,art3,art4,art5 这5张表每张表放200万篇

查询小说时不知道在那张表

create view article as

select title from article1 union select title from article2...

视图时表的一个影子

表与视图,数据变化时的相互影响问题

1.表的变化影响到视图的变化

2.视图一般情况下无法修改,

当视图中的数据和表的数据一一对应时,

表-->推出视图对应的数据,视图-->推出表对应的数据

视图变化会影响表

视图的定义一直存在,但不占用空间

frm表示表的结构

myd表示表的数据

myi表示表的索引

所有创建视图时,只会产生一个frm文件

创建表时,会产生这三个文件

对于一些简单的视图

在发挥作用的过程中,并没有建立临时表,只是吧条件存起来,下次查询时,把条件合并后直接查表。

思考:相比于建临时表,那个快?

建表:查询->临时表->再查询

叠加:合并条件->查询表

到底要不要建临时表还是合并语句:

algorithm = merge 合并查询语句

temptable 临时表

undefined 未定义,由系统判断

复杂语句时,需要创建临时表:

create view v3

as

select *from goods order by shop_price desc;desc为降序,默认为升序

下次再让你查,每个栏目最高的商品价格

select *from v3 group by cat_id;

思考:如何合并这两个语句?

答:合并后出错,不能合并,只能建立临时表

create algorithm=temptable view v3

as

select goods_id,cat_id

from goods

order by cat_id asc,shop_price desc;

这张表,明确制定了生成临时表

如果拿不准用什么,algorithm=undefined,让系统为我们做决定

mysql 视图 统计_mysql 视图相关推荐

  1. mysql视图登录_mysql视图

    mysql视图机制 什么是视图 视图是一张虚拟的表,为什么是虚拟呢?因为视图与数据库中存在的表不太一样,前面我们创建的4张表都是包含数据的, 如用户信息,订单信息等,而视图则是不包含数据的,下面通过一 ...

  2. mysql 视图用户_MySQL视图,存储过程,用户管理

    1. 视图 一张虚拟表,就是将一个经常被使用的查询作为一个虚拟表,开发者查询的时候不需要再次书写SQL,而是直接调用对应的视图就可,调用视图以后MySQL会执行这个查询SQL. # 创建视图 crea ...

  3. mysql 视图 教程_MySQL视图简介及基本操作教程

    前言 视图是数据库系统中一种非常有用的数据库对象.MySQL 5.0 之后的版本添加了对视图的支持. 认识视图 视图是一个虚拟表,其内容由查询定义.同真实表一样,视图包含一系列带有名称的列和行数据,但 ...

  4. mysql视图存储_Mysql 视图、存储过程以及权限控制

    导读: 该文章为视图.存储过程.用户权限练习: 如果有不对的地方欢迎指出与补充: 该基础练习基于MySQL5.0以上: 语句格式: 1. 视图格式: create view view_name[列名, ...

  5. mysql视图应用_MySQL视图的概念与实际应用

    以下的文章主要是对MySQL视图的描述,其中包括MySQ视图L概述,以及创建MySQL视图-create view与修改MySQL视图--alter view等相关内容的具体描述,以下就是文章的具体内 ...

  6. mysql 视图 中文_Mysql视图-WEB资讯专栏-DMOZ中文网站分类目录-免费收录各类优秀网站的中文网站目录....

    1.初识视图 1.视图的概念和作用 什么是视图:是从一个或多个表中导出来的表,它是一种虚拟存在的表,表的结构和数据都依赖于基本表. 作用: 简化查询语句:简化用户的查询操作,使 1.初识视图 1.视图 ...

  7. mysql 视图 排序_MySQL 视图

    视图(view): 什么是视图: 视图就是将查询的结果集展示出来,视图就是一张表 为什么需要视图: 首先,视图并不能加快查询速度,因为视图中本身不存储数据 视图仅仅是村粗再数据字典中的一个定义,同时视 ...

  8. mysql 视图优势_MySQL视图简介及优缺点

    在本教程中,您将了解一个叫作数据库视图的新数据库对象. 我们将讨论使用数据库视图的优缺点. 数据库视图是虚拟表或逻辑表,它被定义为具有连接的SQL SELECT查询语句. 因为数据库视图与数据库表类似 ...

  9. mysql视图参数_MySQL视图概述

    1.介绍 在传统关系型数据库里,视图有时也被称作虚表,是基于特定SQL结果集的虚拟数据表.在有些场合会变得很方便,例如:原有系统重构,旧的数据表A和B已经被拆分和合并到数据表C.D.F里面,为了实现平 ...

  10. mysql 视图查询_MySQL视图复杂查询详解

    内容大纲:什么是视图查询 子查询 标量子查询 关联子查询 如何用SQL解决业务问题 各种函数 总结:知识点图解 视图什么是视图 视图存放的是SQL语句,而数据库表存放的是数据,使用视图时,会运行视图里 ...

最新文章

  1. SQL函数设计——临时表的使用
  2. I2C总线学习(二)--数据传送格式
  3. mvp架构 java_GitHub - AnthonyCoder/MvpForJava: 一个可直接快速引入的 Java 版本的模块化 MVP 框架...
  4. (转)青春有限,走红有年
  5. 深入理解javascript系列(十七):函数柯里化
  6. mysql字符串逆时针旋转180度_mysql 函数示例(转)
  7. Pycharm中运行Python代码的几种方式
  8. python 隐藏命令行窗口_python如何只执行cmd中的动作,但消除或隐藏cmd窗口 - 小众知识...
  9. java禁止js获取cookie_java中Cookie被禁用后Session追踪问题
  10. P、NP、NPC、NP-Hard等问题总结
  11. 《Go语言程序设计》读书笔记(十)反射
  12. Unity获取时间戳
  13. pandas5 数据分组与聚合
  14. phpmyadmin mysql 5.1_phpMyAdmin(MySQL数据库管理)下载_phpMyAdmin(MySQL数据库管理) 版本:v5.1.0_魅蓝下载...
  15. org.springframework.core.styler包解读
  16. 支付宝快捷支付服务 android,图文详解Android下支付宝快捷支付教程
  17. Kubernetes Secrets 详解
  18. python实现决策树 西瓜书_西瓜书学习笔记-决策树
  19. idea无法切换分支报错解决办法
  20. SAP 检验批决策增强

热门文章

  1. EI会议论文发表流程剖析(史上最详细!经典!)
  2. EAS开发单据分录和序时簿添加合计
  3. 马斯克的“星链”会不会威胁中国太空安全?肯定会!
  4. 2021京东618活动脚本App和电脑版最新版(建议使用app版)
  5. 2345浏览器兼容模式怎么设置
  6. ThinkPHP自动匹配CP端移动端模板
  7. android文件浏览器,安卓最强大的文件浏览器:ES文件浏览器
  8. android 新建桌面文件夹在哪里,添加并管理桌面文件夹
  9. 什么是游戏引擎,什么是虚幻引擎(Unreal Engin 4)?
  10. 怎么禁止计算机安装程序,解决方案:如何禁止计算机随意安装软件?