数据库中的视图是一个虚拟表。同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生。本篇将通过一些实例来介绍视图的概念,视图的作用,创建视图,查看视图,修改视图,更新和删除视图等SQL Server的数据库知识。

一、概述

视图是从一个或者多个表导出的,它的行为与表非常相似,但视图是一个虚拟表,在视图中可以使用SELECT语句查询数据,以及使用insert、update和delete语句修改记录,对于视图的操作最终转化为对基本数据表的操作。视图不仅可以方便操作,而且可以保障数据库系统的安全性。

 视图一经定义便存储在数据库中,与其相对应的数据并没有像表数据那样在数据库中在存储一份,通过视图看到的数据只是存放在基本表中的数据。可以对其进行增删该查,通过视图对数据修改,基本表数据也对应变化,反之亦然。

二、分类

  :标准视图:标准视图组合了一个或多个表中的数据,可以获得使用视图中的大多数好处,包括重点将放在特定的数据上及简化数据操作。

  索引视图:索引视图是被具体化了的视图,即它已经经过计算并存储。可以为视图创建索引,对视图创建一个唯一的聚集索引。索引视图可以显著提高某些类型查询的性能,索引视图尤其适于聚合许多行的查询,但它们不太适于经常更新的基本数据集。

  分区视图:

分区视图在一台多多台服务器间水平连接一组成员表的分区数据,这样,数据看上去如同来自一个表。连接本地同一个SQL Server实例中的成员表的视图是一个本地区分视图。

三、优点和作用

3.1.简单化

 看到的就是需要的,视图不仅可以简化用户对数据的理解,也可以简化对它们的操作,那些经常使用的查询可以被定义为视图,从而使得用户不必为以后的每次操作指定全部的条件。

3.2.安全性

 视图可以作为一种安全机制。通过视图用户只能查看和修改他们所能看到的数据。其它或表既不可见也不可以访问。如果某一用户想要访问视图的,必须授予其访问权限。视图所引用表的访问权限与视图权限的设置互不影响。

3.3.逻辑数据独立性

 视图可以帮助用户屏蔽真实表结构变化带来的影响。

四、

视图语法结构

--语法
CREATE VIEW view_nameASSELECT column_name(s) FROM table_name
WHERE condition

测试数据准备

use sample_db;
create table studentTable(id int identity(1,1)primary key,name varchar(20),gender char(2),age int,
)
insert into studentTable (name,gender,age)
values('刘备','男',28),('张飞','男',24),('关羽','男',26); 

创建视图

--创建视图
if (exists (select * from sys.objects where name = 'student_view'))drop view student_view
go
--student_view()不实用参数,默认为基础表中的列名称
create view student_view
as
select name,age from studentTable where age>24;
--执行视图
select * from student_view;

修改视图

alter view view_name
as select ......
where ......-

查看视图的信息

  • 使用sp_help存储过程查看视图的定义信息
  • 使用sp_helptext系统存储过程使用来显示规则,默认值,未加密的存储过程,用户定义函数,触发器或视图的文本,语法
exec  sp_help 'student_view';
exec sp_helptext 'student_view';

转载于:https://www.cnblogs.com/javier520/p/10851047.html

sqlserver——视图相关推荐

  1. python 查询sqlserver 视图_SQL Server 2017 数据库教与学(教学大纲,含Python+SQL Server案例)...

    原标题:SQL Server 2017 数据库教与学(教学大纲,含Python+SQL Server案例) 本书提供Python+SQL Server案例 SQL Server教学大纲 一.课程的性质 ...

  2. python查询sqlserver视图_基于odoo11上的SQL查询构建一个新的视图或模型

    我正在研究一个奥多模块.在 我希望我的模块是一个"报告"大多数购买的产品(按客户).在 我已经在Odoo上创建了一个视图,但是现在,我需要按客户"过滤"这些视图 ...

  3. sqlserver视图

    作用 ①简化了操作,把经常使用的数据定义为视图. ②安全性,用户只能查询和修改能看到的数据. ③逻辑上的独立性,屏蔽了真实表的结构带来的影响. 对视图的修改:单表视图一般用于查询和修改,会改变基本表的 ...

  4. python 查询sqlserver 视图_SQL Server查看视图定义总结

    在SQL Server中如何查看数据库视图的定义呢? 其实官方文档已经有一个较详细的总结了,这里在官方文档的基础上,我们再深入展开分析一下,例如如何获取系统视图的定义.知其然知其所以然吗. 1:使用S ...

  5. SQL数据库语言基础之SqlServer视图的创建、修改与视图数据的增删改查

    文章目录 一.认识视图 二.创建.查询视图 三.修改.删除视图 四.修改视图数据(与操作表一样,只是把table换成view) 一.认识视图 1.视图的理解 从用户角度来看,一个视图是从一个特定的角度 ...

  6. python 查询sqlserver 视图_在Python中,将SQL查询的输出显示为表,就像在SQL中一样...

    这似乎是一个基本的函数,但我对Python还不熟悉,所以也许我没有正确地搜索这个函数. 在Microsoft SQL Server中,当SELECT top 100 * FROM dbo.Patien ...

  7. 问题记录——sqlserver视图重命名的陷阱

    今日,在更新网站数据库的时候出现问题,程序生成的更新脚本中有个视图名称很怪异的被修改. 经过查看,发现了问题所在:通过管理界面对视图重命名后,系统表syscomments中的视图名称记录并没有相应改变 ...

  8. SQLServer视图:视图简介

    先举一个例子,在Northwind数据库中,如果要查看一个订单是由哪个雇员签订的,签订的时间是什么时候,买了什么产品,价格是多少,由谁来送货,送货的地址是什么等内容,那么就要从产品.订单.订单明细.雇 ...

  9. SqlServer视图索引用法

    在 SQL Server 中,视图是一个虚拟表,可以通过它来访问存储在其他表中的数据.视图可以简化复杂查询并提高查询性能,而索引可以进一步提高视图的性能. 以下是创建视图索引的一般步骤: 创建视图:首 ...

最新文章

  1. 云安全,到底是什么一回事?
  2. OAF_OAF增删改-新增的实现(案例)
  3. Windows如何自定义U盘盘符、文件夹图标、文件夹背景
  4. mount命令详解及常见问题汇总
  5. html5拖放原理,HTML5 拖放实现
  6. DevOps冲击下的软件测试
  7. VS2015各版本的区别
  8. win2003 序列号 windows2003 sp2可用序列号大全(准版与企业版)
  9. Tensorflow GPU并行运算
  10. word/ppt中如何插入11以上带圆圈的数字序号
  11. 构建嵌入式系统软件开发环境-VMware的安装及搭建嵌入式Linux开发环境
  12. 微信小程序配置npm构建详细解读
  13. 寻找几种常见的推广模式
  14. 第4代乐视超级电视全系亮相,生态电视“王炸”来了
  15. 鸿蒙首批应用 微信,这就是首批支持Apple Watch的应用:微信亮了
  16. php注入点判断,PHPEMS一处SQL注入漏洞
  17. 教大家怎么识别苹果手机真假
  18. SQLserver基本sql语句编写
  19. JAVA设计模式之3种工厂模式
  20. 算法基础课——第四章 数学知识(一)

热门文章

  1. python分析服务器日志_python实现web服务器日志分析脚本
  2. spring源码分析第三天------spring核心IOC容器和依赖注入原理
  3. client中周期性边界_(整理)周期性边界条件.
  4. amd cpu不能在cmd环境下运行java代码_00 开发环境搭建
  5. windows下如何在命令行里切换到任意目录
  6. (扩展欧几里得)青蛙的约会
  7. nfc sim android8,Android NFC相关资料之MifareClassic卡(读写)
  8. java计算距离_java实现计算地理坐标之间的距离
  9. vs2019能写Java吗_Visual studio2019打包程序过程
  10. ddmmyy日期格式是多少_解锁9个日期时间计算套路,效率提高3.2%