前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关系数据库之视图

关系数据库之视图

作者头像
小闫同学啊
发布2020-02-19 11:38:05
7290
发布2020-02-19 11:38:05
举报
文章被收录于专栏:小闫笔记小闫笔记

"

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』或者『全栈技术精选』

代码语言:javascript
复制
CREATE VIEW vw_Names  
   AS  
   SELECT ProductName, Price FROM Products;  
GO

2. 删除视图

使用 DROP 语句删除视图 vw_Names

代码语言:javascript
复制
DROP VIEW vw_Names;  
GO

3. 查询视图

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

代码语言:javascript
复制
SELECT * FROM vw_Names

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

代码语言:javascript
复制
SELECT * FROM vw_Names WHERE ProductName='武汉热干面'

4.更新视图

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

代码语言:javascript
复制
CREATE OR REPLACE VIEW 视图名称 AS
SELECT 字段名称(s)
FROM 表名
WHERE 条件

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

示例

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

代码语言:javascript
复制
CREATE VIEW vw_Names  
   AS  
   SELECT ProductName, Price, Counts FROM Products;  
GO

视图适用场景

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

注意

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

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈技术精选 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 视图是什么
  • 视图相关语法
    • 1. 创建视图
      • 2. 删除视图
        • 3. 查询视图
          • 4.更新视图
            • 示例
            • 视图适用场景
            • 注意
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档