关系数据库之视图

简介: 关系数据库之视图

请问视图是什么?视图相关语句有哪些?视图在什么场景下使用?夺命三连

视图是什么

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

视图相关语法

1. 创建视图

执行以下语句创建一个非常简单的视图,该视图执行 SELECT 语句,并将产品的名称和价格返回给用户。

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 条件

注意:此处的更新实质上是更新视图的查询语句,看到的效果便是展示的数据发生了变化


示例

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

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

视图适用场景

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

注意

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

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

相关实践学习
体验RDS通用云盘核心能力
本次实验任务是创建一个云数据库RDS MySQL(通用云盘),并通过云服务器ECS对RDS MySQL实例进行压测,体验IO加速和IO突发带来的性能提升;并通过DMS执行DDL,将数据归档到OSS,再结合云盘缩容,体验数据归档带来的成本优势。
相关文章
|
6月前
|
SQL 关系型数据库 MySQL
轻松入门MySQL:视图之美,简化查询、提升效率的数据库利器(14)
轻松入门MySQL:视图之美,简化查询、提升效率的数据库利器(14)
251 0
|
6月前
|
关系型数据库 MySQL 程序员
【MySQL 数据库】8、视图
【MySQL 数据库】8、视图
86 0
|
6月前
|
存储 数据库
Navicate 如何导出数据库中的存储过程、事件、视图等?
Navicate 如何导出数据库中的存储过程、事件、视图等?
331 0
|
6月前
|
SQL 算法 数据库
【数据库SQL server】关系数据库标准语言SQL之视图
【数据库SQL server】关系数据库标准语言SQL之视图
145 0
|
6月前
|
数据库
数据库第十一次作业 视图的应用
数据库第十一次作业 视图的应用
58 1
|
6月前
|
SQL 数据库 数据库管理
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(一)模式、表、索引与视图
【SQL server】玩转SQL server数据库:第三章 关系数据库标准语言SQL(一)模式、表、索引与视图
174 11
|
SQL 关系型数据库 MySQL
MySql数据库中的视图,索引与数据库sql脚本如何导入与导出---(详细介绍)
MySql数据库中的视图,索引与数据库sql脚本如何导入与导出---(详细介绍)
349 0
|
2月前
|
存储 缓存 关系型数据库
MySQL 视图:数据库中的灵活利器
视图是数据库中的虚拟表,由一个或多个表的数据经筛选、聚合等操作生成。它不实际存储数据,而是动态从基础表中获取。视图可简化数据访问、增强安全性、提供数据独立性、实现可重用性并提高性能,是管理数据库数据的有效工具。
|
5月前
|
存储 SQL 关系型数据库
MySQL数据库进阶第四篇(视图/存储过程/触发器)
MySQL数据库进阶第四篇(视图/存储过程/触发器)
|
5月前
|
SQL 关系型数据库 MySQL
MySQL数据库练习——视图
MySQL数据库练习——视图
37 1
下一篇
无影云桌面