SQL 视图(Views)
视图是可视化的表。
本章讲解如何创建,更新和删除视图。
SQL CREATE VIEW 语句
在SQL 中,视图是基于SQL 语句的结果集的可视化的表。
视图包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库中真实的表中的字段。
您可以像视图添加SQL函数,WHERE以及JOIN子句,也可以呈现数据,就像这些数据来自于某个单一的表一样。
SQL CREATE VIEW 语法
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
注释:视图总是显示最新的数据!每当用户查询视图时,数据库引擎通过使用视图的SQL 语句重建数据库。
SQL CREATE VIEW 实例
以下为"Persons"表:
p_id lastname fristname address city
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
创建视图"view_persons" ,从"persons"表中列出 "p_id > 1"的数据:
CREATE VIEW view_persons
AS
SELECT * FROM persons
WHERE p_id > 1
查询视图"view_persons"
SELECT * FROM view_persons
p_id lastname fristname address city
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
SQL 更新视图
您可以使用下面的语法来更新视图:
SQL CREATE OR REPLACE VIEW 语法
exec sp_rename 旧视图名,'新视图名'
go
实例:
exec sp_rename view_persons1,'view_persons2'
go
注意:更改对象名的任一部分可能被破坏脚本和存储过程
select * from view_persons2
p_id lastname fristname address city
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
SQL 撤销视图
您可以通过DROP VIEW 命令来删除视图
SQL DROP VIEW 语法
DROP VIEW view_name
实例:
DROP VIEW view_persons
视图的作用:
- 视图隐藏了底层的表结构,简化了数据访问操作,客户端不再需要知道底层表的结构及其之前的关系。
- 视图提供了一个统一访问数据的借口。(即可以允许用户通过视图访问数据的安全机制,而不授予用户直接访问底层表的权限)
- 从而加强了安全性,使用户只能看到视图所显示的数据。
- 视图还可以被嵌套,一个视图中可以嵌套另一个视图。