From 602aac5667c4b4d962df6e6c0d2182cd0abf301b Mon Sep 17 00:00:00 2001 From: 13348227218 <2287431003@qq.com> Date: Thu, 22 Sep 2022 17:19:24 +0800 Subject: [PATCH] . --- .../20220922-SQL\350\247\206\345\233\276.md" | 63 +++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 "33\347\211\233\346\226\207\350\275\251/20220922-SQL\350\247\206\345\233\276.md" diff --git "a/33\347\211\233\346\226\207\350\275\251/20220922-SQL\350\247\206\345\233\276.md" "b/33\347\211\233\346\226\207\350\275\251/20220922-SQL\350\247\206\345\233\276.md" new file mode 100644 index 0000000..3e6c80b --- /dev/null +++ "b/33\347\211\233\346\226\207\350\275\251/20220922-SQL\350\247\206\345\233\276.md" @@ -0,0 +1,63 @@ +## 视图 + +### 一.什么么是视图 + +##### 视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表进行查询的结果,只存放视图的定义,不存放视图对应的数据;其结构和和数据是建立在对表的查询基础上,故表中的数据发生变化,从视图中查询出的数据也随之改变。视图最多可以包含1024列。 + +### 二.视图的作用 + +##### (1)着重特定数据:可以使用某些特定数据,过滤掉不需要的数据。 + +##### (2)简化数据操作:可将经常使用的连接,联合查询和选择查询定义成视图。用户在需要时直接调用视图就可以。 + +##### (3)组合分区数据:可以把来自不同表的多个查询结果组合成单一的结果集。 + +##### (4)安全性:用户通过视图访问数据,不授予用户直接访问表的权限。 + +### 三.视图和数据表的区别 + +##### (1)视图是已经编译好的SQL语句,是基于SQL语句的结果集的可视化的数据表,而数据表不是。 + +##### (2)视图没有实际的物理记录,而基本表有。 + +##### (3)数据表是内容,视图是窗口。 + +##### (4)数表占用物理空间而视图不占用物理空间,视图只是逻辑概念的存在。数据表可以及时对它进行修改,但视图只能用创建的语句来修改。 + +##### (5)视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以防止用户接触数据表,从而不知道表结构。 + +##### (6)数据表属于全局模式中的表,是真实表;视图属于局部模式的表,是虚拟表。 + +##### (7)视图的建立和删除只影响视图本身,不影响对应的基本表。 + +### 四.视图分类 + +##### 标准视图: +SELECT语句集合组成的视图 + 一般用于整合多个表的数据 + +##### 索引视图: + 带有索引(聚集索引)的视图 + 使用索引视图可以有效提高查询的性能 + 适合经常查询但不经常写入的视图 + +##### 分区视图: +​ 在一台或多台服务器间水平连接一组成员表中的分区数据 +​ 本地连接多张表的视图就是分区视图,只不过在本地而已 + +##### 系统视图: +​ 系统视图包含目录元数据 + +##### 可以使用系统视图返回与SQL Server实例或在该实例中定义的对象有关的信息 + 比如可以查询 sys.databases 目录视图将返回实例中用户定义数据库有关的信息 + +### 五.创建视图 +##### CREATE VIEW 视图名称(<视图列名1>, <视图列名2>, ……) +AS + + +### 六.删除视图 + +##### DROP VIEW 视图名称(<视图列名1>, <视图列名2>, ……) + + -- Gitee