什么是视图
视图是从一个或几个基本表(或视图)导出的虚拟表。它与基本表不同,是一个虚表。数据库中只存放视图的定义,而不存放视图对应的数据,这些数据仍然放在原来的基本表中。所以一旦基本表中的数据发生变化,从视图中查询出的数据也就随之改变了。视图一经定义,就拥有和基本表一样的功能。也可以在视图之上再定义新的视图,但对视图的更新操作则有一定的限制。
数据表数据:
1.创建视图
SSMS工具创建视图
- 打开对应的数据库,找到“视图”,右击,选择“新建视图”
- 在添加表对话框中选择需要添加的元素,本示例选择表,然后添加要创建视图的对应表,添加完成后关闭对话框。进入视图设计面板。
- 在关系图窗格中,勾选视图所需要的属性列,此时条件窗格和SQL语句窗格的内容都会随之发生变化
- 如果需要给定特定条件,则可以在条件窗格对应的属性列中找到要添加条件的属性列,在筛选器中填入条件表达式
- 点击保存按钮或Ctrl+S保存视图,输入视图名称
- 展开对象资源管理器下的“视图”,可以看到我们创建的视图
- 完成后可以点击执行,在结果窗格中查看视图查询结果
SQL方式创建视图
语法格式:
CREATE VIEW <视图名> [(<列名>[,<列名>]...)]
AS <子查询>
[WITH CHECK OPTION]
使用示例
CREATE VIEW student_sex_male
AS
SELECT StuID, StuName, JoinTime, Sex
FROM student
WHERE (Sex = '男')
2.更新视图
SSMS工具更新视图
- 打开视图,找到需要修改的视图
- 右击,选择“设计”
- 进入视图设计器面板,即可对试图进行修改
- 完成后进行保存,点击执行按钮查看修改后的视图查询结果
SQL方式更新视图
语法格式:
ALTER VIEW <视图名> [(<列名>[,<列名>]...)]
[WITH ENCRIPTION] --加密
AS <子查询>
[WITH CHECK OPTION]
使用示例
ALTER VIEW student_sex_male
AS
SELECT StuID, StuName, Sex
FROM student
WHERE (Sex = '女')
3.使用视图
创建新视图
简要说明:视图的使用与基本表的使用方法基本一致,对视图的操作实际是对基本表中的数据进行操作。
语法格式:
--查询数据
select <目标列表达式> from <视图名>
--添加数据
insert
into <视图名> [(<列名> [,<列名>]...)]
values(<属性值> [,<属性值>]...)
--修改数据
update <视图名>
set <修改表达式>
[where <条件表达式>]
--删除数据
delete
from <视图名>
[where <条件表达式>]
使用示例
--查询数据:使用student_view视图查询student表中的所有数据
select * from student_view
--添加数据:使用student_view视图向student表中添加数据
insert
into student_view(StuID,StuName,Sex,JoinTime)
values(5,'麻七','男','2019-09-01')
--修改数据:使用student_view视图对student表中的数据进行修改
update student_view
set Sex='女'
where StuID=5
--删除数据:使用student_view视图对student表中的数据进行删除
delete
from student_view
where StuID=5
4.删除视图
SSMS工具删除视图
- 使用SSMS工具删除视图,只需要点开“视图”,找到对应的视图名,右击,选择“删除”。
- 弹出删除对象对话框,点击“确定”,即可完成对视图的删除
SQL方式删除视图
语法格式:
DROP VIEW <视图名>
使用示例:删除视图student_view
drop view student_view