视图
一、视图基础
视图是一张虚拟表,称其为虚拟表的原因是:视图内的数据并不属于表本身,而属于创建视图使用到的基本表。可以认为,视图是一个表中的数据经过某种筛选后的显示方式;或者是多个表中的数据经过连接筛选后的显示方式。
视图有一个预定义的查询语句组成,可以像基本表一样用于SELECT语句中。如果视图满足一定条件,还可以用于INSERT、UPDATE和DELETE语句中,对视图所调用的基本表进行插入、删除和更新数据操作。
注意:视图不是SELECT语句执行后的查询结果,即视图中不存在数据,它只是存放了SELECT语句。调用试图要考虑效率的损耗。例如,执行SELECT*FROM VW1时,实际上执行了两个SELECT 语句。一个是该语句本身,另一个是视图中存放的复杂连接的SELECT语句。
二、视图的创建
正确使用试图能够提高SQL语句的使用性能,同时也能提供数据表使用的安全性。
2.1使用CREATE VIEW语句创建视图
语法格式如下:
CREATE VIEW 视图名称(字段1,字段2)
AS
SELECT 查询语句
*SELECT子句中的某个列不是单纯的字段,而是集合函数或表达式。
*多表连接时选出了几个同名字段,作为视图的字段。
*需要在视图中为某个字段设置更合适的新名字。
例子:
CREATE VIEW VW
AS
SELECT *
FROM STU_INFO
WHERE SEX='男'
SELECT *
FROM VW
2.2用别名命名试图字段
例子:
CREATE VIEW VW1(学号,姓名,性别,生日,电话,系别,年龄)
AS
SELECT *
FROM STU_INFO
WHERE SEX=‘男’
查看:
SELECT *
FROM VW1
2.3创建视图时的注意事项
在用CREATE VIEW 创建视图时,SELECT子句里不能包括以下内容:
COMPUTE、COMPUTE BY子句
ORDER BY子句,除非在SELECT子句里有TOP关键字
OPTION子句
INTO关键字
临时表或表变量
2.4创建加密视图
CREATE VIEW VW
WITH ENCRYPTION
AS
SELECT *
FROM STU_INFO
WHERE SEX='男'
SELECT *
FROM INFORMATION_SCHEMA.VIEWS
三、查看与修改视图
3.1用ALTER VIEW修改视图
语法格式:
ALTER VIEW
AS
SELECT 查询语句
四、使用视图操作表数据
4.1使用INSERT语句插入数据
例子:
INSERT INTO VW
VALUES()
SELECT *
FROM VW
4.2使用UPDATE语句更新语句
UPDATE VW
SET DEPART=’外语系’
WHERE SNAME=‘张三’
SELECT *
FROM VW
4.3使用DELETE 语句删除数据
DELETE FROM VW
WHERE SNAME=’张三’
五、视图的删除
5.1使用DROP VIEW 语句删除视图
语法格式如下:
DROP VIEW 视图名