视图
视图的概念
- 是存储在服务器端的一个查询块,是一张虚拟表
- 表示一张表的部分数据或多张表的综合数据
- 其结构和数据是建立在对表的查询基础上
- 视图的使用,跟普通数据表的查询使用完全一样
视图中不存放数据
数据存放在视图所引用的原始数据表中
表视图的多样性
一个或多个原始数据表,根据不同用户的不同需求,可以创建不同的视图
视图的用途
- 筛选表中的行
- 防止未经许可的用户访问敏感数据
- 降低数据库的复杂程度
- 将多个物理数据库抽象为一个逻辑数据库
如何使用视图
使用管理器创建视图
使用T-SQL创建视图
CREATE VIEW 视图名称
AS
SELECT 语句
CREATE VIEW StudentScore
AS
SELECT Students.StudentId,StudentName,ScoreList.CSharp,ScoreList.SQLServerDB,StudentClass.ClassName FROM Students INNER JOIN ScoreList ON ScoreList.StudentId=Students.StudentId INNER JOIN StudentClass ON StudentClass.ClassId=Students.ClassId
使用T-SQL删除视图
IF EXISTE (SELECT * FROM sysobjects WHERE name='视图名')
DROP VIEW 视图名
IF EXISTS (SELECT * FROM sysobjects WHERE name ='StudentScore')
DROP VIEW StudentScore
使用T-SQL查看视图
SELECT * FROM 视图名
使用视图注意
- 视图中可以使用多个表
- 一个视图可以嵌套另一个视图(尽量少用)
- 视图定义中的SELECT语句不能包括下列内容
- ORDER BY子句,除非在SELECT语句的选择列表中也有一个TOP子句
- INTO关键字
- 引用临时表或表变量