"
The secret of change is to focus all of your energy, not on fighting the old but on building the new.
—— Dan Millman
"
视图是什么
对于关系数据库来说,绕不开的一个概念便是『视图』,带着篇首的几个问题,我们来认真学习一下。官方文档中如此描述视图:A view is a stored SELECT statement(视图是存储的 SELECT
语句)。我们需要注意,视图实质上是一组查询语句,是一张虚拟表(可视化的表)而非真正的表。它将单张表或者多张表中的某些字段或全部字段使用一些特定的查询组合成一张可见的表,如同一张真实的表一样。
视图相关语法
1. 创建视图
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 语句来重建数据。