专栏首页小闫笔记关系数据库之视图

关系数据库之视图

"

The secret of change is to focus all of your energy, not on fighting the old but on building the new.

—— Dan Millman

"

请问视图是什么?视图相关语句有哪些?视图在什么场景下使用?夺命三连更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

视图是什么

对于关系数据库来说,绕不开的一个概念便是『视图』,带着篇首的几个问题,我们来认真学习一下。官方文档中如此描述视图:A view is a stored SELECT statement(视图是存储的 SELECT 语句)。我们需要注意,视图实质上是一组查询语句,是一张虚拟表(可视化的表)而非真正的表。它将单张表或者多张表中的某些字段或全部字段使用一些特定的查询组合成一张可见的表,如同一张真实的表一样。

视图相关语法

1. 创建视图

执行以下语句创建一个非常简单的视图,该视图执行 SELECT 语句,并将产品的名称和价格返回给用户。更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

CREATE VIEW vw_Names  
   AS  
   SELECT ProductName, Price FROM Products;  
GO

2. 删除视图

使用 DROP 语句删除视图 vw_Names

DROP VIEW vw_Names;  
GO

3. 查询视图

如同查询表一样,可以做一些查询操作,比如:

SELECT * FROM vw_Names

当然也可以添加一些条件:

SELECT * FROM vw_Names WHERE ProductName='武汉热干面'

4.更新视图

使用 SQL CREATE OR REPLACE VIEW 语法来进行更新。

CREATE OR REPLACE VIEW 视图名称 AS
SELECT 字段名称(s)
FROM 表名
WHERE 条件

注意:此处的更新实质上是更新视图的查询语句,看到的效果便是展示的数据发生了变化更多精彩文章请关注公众号『Pythonnote』或者『全栈技术精选』

示例

比如我们要在视图 vw_Names 中添加一个字段 Counts

CREATE VIEW vw_Names  
   AS  
   SELECT ProductName, Price, Counts FROM Products;  
GO

视图适用场景

1.因权限问题或者数据敏感,不能向外透露全部字段信息2.查询逻辑复杂,再与其他表进行关联使得语句更复杂,使用视图后,可简单的将其理解为一个变量

注意

我们在使用视图的时候,相当于执行了视图中的查询语句。更直白的讲视图是实时更新的

每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据。

本文分享自微信公众号 - 全栈技术精选(Pythonnote),作者:小闫同学啊

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-02-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • DRF框架学习(四)

    重写 get_serializer_class和get_queryset,根据不同的操作返回不同的序列化器类和不同的查询集。

    小闫同学啊
  • Django框架学习(二)

    2、如果value为0,那么用户session的Cookie将在用户的浏览器关闭时过期。

    小闫同学啊
  • IntelliJ全家桶IDEA/Pycharm2020.1激活方式

    •本教程适用于 IntelliJ 全家桶 2020.1 以下所有版本,包括 Pycharm、IDEA、WebStorm、Phpstorm、Datagrip、Ru...

    小闫同学啊
  • Mysql性能调优(二)

      从上篇文章开始,我们开始给大家陆续介绍mysql的优化部分。上篇文章首先给大家介绍了在Linux中安装和配置mysql的相关内容,接着给大家介绍了索引的相关...

    stefan666
  • IOS开发之视图和视图控制器

            视图(View), 视图控制器(ViewController)是IOS开发UI部分比较重要的东西。在学习视图这一块的东西的时候,感觉和Java ...

    lizelu
  • 【DB笔试面试539】在Oracle中,数据字典分为哪几类?

    数据字典(Data Dictionary)也就是通常所说的系统目录,它是Oracle数据库中最重要的组成部分。数据字典记录了数据库的系统信息,它是只读表和视图的...

    小麦苗DBA宝典
  • MySQL视图操作

    视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。 通过视图,可以展现基表的部分数据;视图数据来自...

    A梦多啦A
  • SQL视图

    具化式对比替换式就是在内存有一张表是表示视图,操作视图时用的就算内存的那个表而不是基表

    木瓜煲鸡脚
  • MySQL视图示例

    视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。 通过视图,可以展现基表的部分数据;视图数据来自...

    A梦多啦A
  • 【DB笔试面试516】Oracle中的视图分为哪几类?

    (5)内联视图(Inline View),也叫内嵌视图、临时视图、行内视图、或内建视图,它是出现在FROM子句中的子查询,内联视图不属于数据库对象。

    小麦苗DBA宝典

扫码关注云+社区

领取腾讯云代金券