SQL Server学习进程(十)---视图

1.视图

数据库中的视图时一个虚拟表。同真实的表一样,视图包括一系列带有名称的行和列数据。行和列数据用来自由定义视图的查询所用的表,并且在引用视图时动态生成。视图可以由一个或多个表或视图导出。

视图一经定义变存储在数据库中,与相对应的数据并没有像表那样在数据库中在存储一份,通过视图看到的数据只是存放在基本表中的数据。二者动态绑定,当对其中一种的数据进行修改时另一个也跟着变化。

视图的分类:

(1)标准视图

(2)索引视图

(3)分区视图

视图的优点和作用

(1)简单化

(2)安全性

(3)逻辑数据独立性

扫描二维码关注公众号,回复: 1700708 查看本文章

2. 创建视图

2.1使用视图设计器创建视图


视图-》新建视图-》


选择一个或多个表或视图(Ctrl可多选)-》添加-》关闭-》(菜单栏)-》保存

2.2T-SQL语句创建视图

CREATE VIEW [ schema_name. ]view_name [column_list]

[WITH <ENCRYPTION | SCHEMABINDING | VIEW_METADATA> ]

AS select_statement

[ WITH CHECK OPTION ]


视图定义的SELECT子句不能包括下列内容

(1)COMPUTE 或 COMPUTE BY 子句

(2)ORDER BY 子句,除非在SELECT 语句的选择列表中也有一个TOP子句。

(3) INTO 关键字。

(4) OPTION 子句

(5) 引用临时表或表变量

create view view_demo(编号,姓名,年龄,食物,饲养员) 
as
select a.ID,a.Name,a.Age,b.name,b.operator
from animals a inner join fruits b

on a.Food=b.id

--

create view view_demo1(编号,姓名,年龄,食物,饲养员) 
as
select a.ID,a.Name,a.Age,b.name,b.operator

from animals a ,fruits b where a.Food=b.id

3.修改视图

3.1在SMSS中,选中目标视图-》(右击)-》设计;

出现界面和创建是一样,根据需求修改。

3.2当拥有使用视图权限的前提下,使用ALTER VIEW语句。ALTER VIEW 语句与 CREATE VIEW 语句用法一样。

4.查看视图信息

4.1在SSMS中,选中目标视图-》(右击)-》属性

4.2  Exec sp_help view_nameE;

EXEC sp_helpext view_name;

5.使用视图修改数据

修改试图时的注意事项:

(1)修改视图中的数据时,不能同时修改2个或多个基本表

(2)不能修改图中通过计算得到的字段,例如包含算术表达式或者聚合函数的字段。

(3)执行UPDATE或DELETE命令时,无法用DELETE命令删除数据,若使用UPDATE命令则应当与INSERT命令一样,被更新的列必须属于同一个表。

INSERT INTO view_name VALUES(column,column1,column2...n);

UPDATE view_name 

SET column=value,column1=value1,...n WHERE condition

DELETE view_name WHERE condition

6.删除视图

6.1直接在SMSS中删除视图

6.2 DROP VIEW view_name,view_name1,view_name2,....view_namen;



猜你喜欢

转载自blog.csdn.net/qq_40951833/article/details/80753359
今日推荐