加入收藏 | 设为首页 | 会员中心 | 我要投稿 温州站长网 (https://www.0577zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQL VIEW(视图)

发布时间:2022-12-10 14:04:16 所属栏目:MsSql教程 来源:网络
导读: 本文介绍一下 如何创建、更新和删除视图,以及视图的作用和缺点。
一、什么是视图?
(1)在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。
(2)

本文介绍一下 如何创建、更新和删除视图,以及视图的作用和缺点。

一、什么是视图?

(1)在 SQL 中,视图是基于 SQL 语句的结果集的可视化的表。视图包含行和列,就像一个真实的表。

(2)视图是一种不存在的虚拟表: 类似表但是不是表。

(3)视图中的字段是来自一个或多个数据库中的真实的表中的字段。

(4)我们可以向视图添加 SQL 函数、WHERE 以及 JOIN 语句,我们也可以提交数据,就像这些来自于某个单一的表。

(5)数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。

(6)视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用 SQL 语句来重建数据。

(7)可以从某个查询内部、某个存储过程内部,或者从另一个视图内部来使用视图。通过向视图添加函数、join 等等,我们可以向用户精确地提交我们希望提交的数据。

SQL CREATE VIEW 实例

SQL CREATE VIEW 语法:
CREATE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
--创建视图--
create or replace view v_student as 
select Sno,Sname
from student;
--从视图中检索数据,即查询上面这个视图--
select * from v_student;
--也可以向查询添加条件--
select * 
from v_student
where Sname like '%云‘;

--删除视图--
drop view v_student;

二、视图的作用

(1)简化了操作,把经常使用的数据定义为视图,可以将复杂的SQL查询语句进行封装。

如在实际工作中,不同的人员只关注与其相关的数据,而与他无关的数据,对他没有任何意义。根据这一情况,可以专门为其创建一个视图,定制用户数据,聚焦特定的数据。此后当他查询数据时,只需 select * from view_name; 就可以了。

(2)安全性,用户只能查询和修改能看到的数据。

使用视图,基表中的数据就有了一定的安全性。因为视图是虚拟的,物理上是不存在的,只是存储了数据的集合,我们可以不通过视图将基表中重要的字段信息给用户。视图是动态的数据的集合,数据是随着基表的更新而更新的。同时mssql 使用视图,用户对视图,不可以随意的更改和删除,可以保证数据的安全性。

方便了权限管理,让用户对视图有权限而不是对底层表有权限进一步加强了安全性

(3)逻辑上的独立性,屏蔽了真实表的结构带来的影响。

视图的存在: 主要是为了对外提供数据支持(外部系统);隐藏了基表字段(隐私);保证了数据库的数据安全(保护数据库内部的数据结构);可以灵活的控制对外的数据: 保证针对每个接口都有一个单独的数据支持,增强了用户友好性。

三、视图的缺点:

(1)性能差

(2)修改限制

使用视图还是有很多局限性的,并没有像直接使用表那么方便。如果视图定义中包含了group by、union、聚合函数以及其他一些特殊情况,就不能被更新了;更新视图的查询也可以是一个关联语句,但是被更新的列必须来自同一张表;而且所有使用临时表算法实现的视图都无法被更新。

(编辑:温州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!