视图是关系数据库系统提供给用户以多种角度观察数据库中数据的重要机制
视图是从一个或几个基本表(或视图)导出的表,是一个虚表。数据库中只存放视图的定义,不存放视图对应的数据,数据保留在原本的数据表中。
视图可以和基本表一样被查询、删除。
(所有需要操作的表都在这里建立:https://blog.csdn.net/qq_44647223/article/details/110249062)
视图的定义与删除
1.定义试图
CREATE VIEW <视图名>[<列名>[, <列名>]...]
AS <子查询>
[WITH CHECK OPTION]
WITH CHECK OPTION表示用视图进行UPDATE、INSERT和DELETE操作时要保证更新、插入和删除的元组满足视图定义中的谓词条件(即子查询中的条件表达式)。
组成视图的属性列名要么全部省略,要么全部指定。
以下3中情况必须明确指定组成的视图的所有列名:
- 某个目标列不是单纯的属性名,而是聚集函数或表达式
- 多表连接导出的视图中有几个同名列作为该视图的属性名
- 需要在视图中为某个列启用新的更合适的名字
示例1:
创建1#仓库所存放物资的视图
create view s1_stock
AS
select mat_num, mat_name, speci, amount, unit
from stock
where warehouse='1#仓库';
示例2:
将所有已按期完成的抢修工作定义为一个视图
create view s2_test(prj_num, prj_name, start_date, end_date, prj_status)
as
select *
from test
where prj_status=1;
2.删除视图
删除视图(DROP VIEW)的语句格式:
DROP VIEW <视图名>;
示例1:
删除视图s1_stock
drop view s1_stock;
查询视图
其查询方式基本与查询基本表一样
select *
from s2_test
where prj_status=1;
更新视图
其过程与更新基本表的过程一样
具体参考:https://blog.csdn.net/qq_44647223/article/details/110304507
视图的作用
1.视图能够简化用户的操作
2.视图使用户能以多角度看待统一数据
3.视图对重构数据库提供了一定程度的逻辑独立性
4.视图能够对机密数据提供安全保护