一、什么是视图

视图是基于SELECT 语句的结果集的可视化的表。

在 SQL 中,一个视图是基于某个 SELECT 语句的结果集的可视化的表。

视图包含行和列,就像一个真实的表。视图中的域就是来自一个或多个数据库中的真实的表中的域。我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

注释:数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。

二、创建视图的语法

CREATE VIEW 视图名称 AS SELECT 列名称 FROM 表名称 WHERE 条件

注释:数据库不会存储视图数据!每当用户查询某个视图时,数据库引擎会使用视图的SELECT语句来重建数据。

三、如何使用视图

可以从某个查询内部、某个存储过程内部,或者从另一个视图内部来使用视图。通过向视图添加函数、join 等等,我们可以向用户精确地提交我们希望提交的数据。

样本数据库 Northwind 拥有一些被默认安装的视图。视图 "Current Product List" 会从 Products 表列出所有正在使用的产品。这个视图使用下列 SQL 创建:

CREATE VIEW [Current Product List] ASSELECT ProductID,ProductNameFROM ProductsWHERE Discontinued=No我们可以查询上面这个视图:

SELECT * FROM [Current Product List]Northwind 样本数据库的另一个视图会选取 Products 表中所有单位价格高于平均单位价格的产品:

CREATE VIEW [Products Above Average Price] ASSELECT ProductName,UnitPriceFROM ProductsWHERE UnitPrice>(SELECT AVG(UnitPrice) FROM Products) 我们可以像这样查询上面这个视图:

SELECT * FROM [Products Above Average Price]另一个来自 Northwind 数据库的视图实例会计算在 1997 年每个种类的销售总数。请注意,这个视图会从另一个名为 "Product Sales for 1997" 的视图那里选取数据:

CREATE VIEW [Category Sales For 1997] ASSELECT DISTINCT CategoryName,Sum(ProductSales) AS CategorySalesFROM [Product Sales for 1997]GROUP BY CategoryName 我们可以像这样查询上面这个视图:

SELECT * FROM [Category Sales For 1997]我们也可以向查询添加条件。现在,我们仅仅需要查看 "Beverages" 类的全部销量:

SELECT * FROM [Category Sales For 1997]WHERE CategoryName='Beverages'

在mysql中 创建视图需要使用_语句_SQL如何通过CREATE VIEW 语句创建视图相关推荐

  1. MYSQL中概念模型的基本概念_数据库基本概念

    一. 数据抽象:物理抽象.概念抽象.视图级抽象,内模式.模式.外模式 模型是对现实世界的抽象,在数据库技术中,我们用数据模型的概念描述数据库的结构和语义,对现实世界的数据进行抽象.从现实世界的信息到数 ...

  2. mysql中用户权限的授予_如何在MySQL中创建用户和授予权限

    如何创建MySQL用户并授予权限?为了实现良好的安全性,需要为每个应用程序创建单独的用户帐户,而不是root用户访问数据库.这将确保应用程序无法访问其他应用程序的数据库.因此需要mysql管理员(ro ...

  3. mysql中的宽字符注入_深入理解Mysql宽字符注入

    之前记录过一篇 写的不够详细 概念 宽字节是相对于ascII这样单字节而言的:像GB2312.GBK.GB18030.BIG5.Shift_JIS等这些都是常说的宽字节,实际上只有两字节 GBK是一种 ...

  4. md5后得到的32位字符串存储到mysql中太占空间了_好看!快收藏:非常完整的 MySQL 规范...

    一.数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来) 数据库对象的命名要能做到见名 ...

  5. mysql中起飞到达城市查询_让mysql慢慢起飞 - 初识慢日志

    mysql优化的话,我一般会这样入手,从一个接口响应时间来说,如果响应时间超过1s,肯定是要优化的,保证网络问题ok的情况下,可进行如下调试: 1.先定位响应时间长的代码段可逐行注释,直接返回,如果当 ...

  6. 【MySQL 中 动态sql,游标_】

    MySQL 中   动态sql,游标_SQLServer MySQL的技术博客_51CTO博客

  7. mysql中的索引什么意思_索引是什么意思(数据库中的索引是什么)

    mysql中索引是存储引擎层面用于快速查询找到记录的一种数据结构,索引对性能的影响非常重要,特别是表中数据量很大的时候,正确的索引会极大的提成查询效率.简单理解索引,就相当于一本砖头厚书的目录部分,通 ...

  8. mysql中sysdate函数转字符串_【转】MySQL:日期函数、时间函数总结(MySQL 5.X)

    转自:http://www.cnblogs.com/she27/articles/1377089.html 一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time) ...

  9. md5后得到的32位字符串存储到mysql中太占空间了_面试官:你对MySQL高性能优化有什么规范建议?...

    推荐阅读:吊打面试官!MySQL灵魂100问,你能答出多少? 文章篇幅较长,建议先收藏再找个合适的时间阅读 数据库命令规范 所有数据库对象名称必须使用小写字母并用下划线分割 所有数据库对象名称禁止使用 ...

最新文章

  1. NOI2012 美食节
  2. Message 消息提示
  3. ubuntu 20 安装vnc_Windows 远程控制 Ubuntu 系统
  4. Linux系统xshell常用指令,linux系统安装数据库时,xshell工具常用MySQL(5.5)相关命令...
  5. 浏览器卡死 (但是内存还不到一半)
  6. SpringMvc-HandlerMapping/RequestCondition
  7. c语言程序集合幂集,C语言 生成集合的幂集
  8. 计算机网络Flash教学课件,flash动画教学课件
  9. 高德地图获取经纬度工具类
  10. UBUNTU 7.04安装后的配置
  11. 刽子手c语言,麻烦刽子手程序在C
  12. scrapy手工识别验证码登录超星泛雅
  13. aruba交换机配置命令_aruba配置手册
  14. win11快捷复制粘贴不能用了怎么办?
  15. 怎么看jupyter的文件保存路径
  16. 【AD】原理图放置差分对,报错Missing Negative Net for differential pair
  17. Bootstrap 组件:面板组件(panel)
  18. 云渲染一张图贵吗?渲染问题详解
  19. 煤炭企业基于数据挖掘技术的云ERP应用分析
  20. C/S与B/S应用的区别

热门文章

  1. OpenSSL密码库算法笔记——第5.1.2章 椭圆曲线算法集
  2. Android 关于@NonNull
  3. 一款开源代码格式化神器
  4. 用VC++对MapX进行二次开发总结(二)(
  5. python教程实例画图_Python 练习实例57
  6. 在RHEL5下安装腾迅QQ(VMware中进行)
  7. [Minitab]如何檢驗一組數據是否符合正態分布?
  8. Android性能优化之启动加速
  9. 服务器改配项目,网络服务器搭建(项目五)[xxxx1214修改].ppt
  10. 怎么把 Tushare 股票数据下载到本地excel csv格式