一、视图的概念

  1. 是存储在服务器端的一个查询块,是一张虚拟表。
  2. 表示一张表的部分数据或多张表的综合数据。
  3. 其结构和数据是建立在对表的查询基础上。
  4. 视图的使用,跟对普通的表的查询使用完全一样。

二、视图中不存放数据

数据存放在视图所引用的原始表中。

三、表视图的多样性

一个或多个原始表,根据不同用户的不同需求,可以创建不同的视图。

四、视图的用途

  1. 筛选表中的行。
  2. 防止未经许可的用户访问敏感数据。
  3. 降低数据库的复杂程度。
  4. 将多个物理数据库抽象成为一个逻辑数据库。

五、实际运用

5.1、基于 ssms 创建使用视图

有以下三张表,分别是学员信息表、学员班级表、学员成绩表,如下:

我们可以基于这三张表,新建一个视图:

(1)、右键该数据库视图选项,点新建视图

(2)、逐一将三张表进行添加

(3)、需要哪个字段,点复选框进行勾选

(4)、勾选完毕,保存,并起一个适合的名字

(5)、至此,我们可以刷新视图,可以看到我们刚刚创建的视图了。

(6)、新建一个查询,测试一下。

5.2、使用 T - SQL语句创建视图

CREATE VIEW view_StuInfo
AS
<SELECT 语句>

5.3、使用 T - SQL语句删除视图

-- 需要使用一堆单引号括起
IF EXISTS (SELECT * FROM sysobjects WHERE name = view_StuInfo) DROP VIEW view_StuInfo

5.4、使用 T - SQL语句查看视图

SELECT * FROM view_StuInfo

5.5、完整的例子

六、视图的注意事项

1、视图中可以使用多个表。

2、一个视图可以嵌套另一个视图(尽量少套用)

3、视图定义中的SELECT语句不能包括下列内容:

  • ORDER BY 字句,除非在SELECT语句的选择列表中也有一个TOP字句。
  • INTO关键字。
  • 引用临时表或表变量。

SQLServer —— 视图的更多相关文章

  1. sqlserver 视图能否有变量

    不能,sqlserver 视图一般不能有变量,也不能带存储过程

  2. SqlServer视图介绍以及创建方式

    1.,视图的介绍: (ps:学sqlServer视图是在面试问到之后学的,答不上来太low了,然后就去各种搜索操作对视图也有了自己的理解) 其实视图就是一张表,是一张表中或者多张表中经过某种筛选后显示 ...

  3. SqlServer视图查询效率测试

    一.  测试背景开发一个项目,数据库用的是sqlserver.帐号表数据有一两百万,不算大,也不算小.在考虑是否要使用视图,担心效率,百度了下资料,众说纷纭,好吧,实践是最好的证明,那么我们就来测试吧 ...

  4. SqlServer视图的创建与使用

    SqlServer系列之视图的创建与使用: 什么是视图? 视图的概述 在数据查询中,可以看到数据表设计过程中,考虑到数据的冗余度低.数据一致性等问题,通常对数据表的设计要满足范式的要求,因此也会造成一 ...

  5. SQLServer视图

    视图简介:通过定义 SELECT 语句以检索将在视图中显示的数据来创建视图.SELECT 语句引用的数据表称为视图的基表.在SQL Server 2005系统中,可以把视图分为3种类型,即标准视图,索 ...

  6. mssql sqlserver 视图如何加密,让第三方用户查看不到其中的SQL语句

    转自:http://www.maomao365.com/?p=6719 摘要: 下文讲述视图加密的方法分享,通过此方法可以使视图只可使用,无法获取视图中sql脚本的内容,如下所示: 在创建视图的语法中 ...

  7. SQLserver视图修改sql

    语法: alter view dbo.视图名 as 更新后的视图SQL go 举个栗子: 原视图名为YOUR_VIEW其中SQL为:  select * form TableA 更新视图: alter ...

  8. sqlserver——视图

    数据库中的视图是一个虚拟表.同真实的表一样,视图包含一系列带有名称的列和行数据,行和列数据用来自由定义视图和查询所引用的表,并且在引用视图时动态产生.本篇将通过一些实例来介绍视图的概念,视图的作用,创 ...

  9. sqlserver 视图用 case when

    视图用 case when 需要 用如下格式,[需要的列名]= case when...,而表里面的case 不用这样 [isNormal]=CASE WHENdbo.c_bdm_head.I_E_F ...

  10. SQLSERVER视图错位的解决办法

    原始需求如下: 有一个表T1 create table t1 (id int not null primary key ,v1 ) ) ,'aaa'); ,'bbb'); 有一个表TS,用于记录T1中 ...

随机推荐

  1. 初识类(class&struct)及C/C++封装的差异

    初识类(class&struct) 面向对象三大特性:封装.继承和多态.其中不得不谈的就是类,通过类创建一个对象的过程叫实例化,实例化后使用对象可以调用类成员函数和成员变量,其中类成员函数称为 ...

  2. 第六章 Odoo 12开发之模型 - 结构化应用数据

    在本系列文章第三篇Odoo 12 开发之创建第一个 Odoo 应用中,我们概览了创建 Odoo 应用所需的所有组件.本文及接下来的一篇我们将深入到组成应用的每一层:模型层.视图层和业务逻辑层. 本文中 ...

  3. 洛谷P2333 [SCOI2006]一孔之见

    传送门 辣鸡题目毁我人生败我前程 50分代码 //Achen #include<algorithm> #include<iostream> #include<cstrin ...

  4. 008-python绘制五个五角星

    操纵海龟绘图有着许多的命令,这些命令可以划分为两种:一种为运动命令,一种为画笔控制命令 1. 运动命令: forward(degree)  #向前移动距离degree代表距离 backward(deg ...

  5. Python - 基本数据类型及其常用的方法之元组

    元组 特点:一级元素无法被修改,且不能被增加或者删除. 基本操作: tu = (11, 22, ["aiden", 33, ("qwe", 11)], 77) ...

  6. Spring Cloud Security&Eureka安全认证(Greenwich版本)

    Spring Cloud Security&Eureka安全认证(Greenwich版本) 一·安全 Spring Cloud支持多种安全认证方式,比如OAuth等.而默认是可以直接添加spr ...

  7. jmeter体系结构

    jmeter体系结构 jmeter体系结构: 1.取样器.断言.监听器组合在一起就可以帮助我们完成发送请求.验证结果及记录结果三项工作 (1)取样器的访问路径:[测试计划]---[线程组]       ...

  8. Django部署,Django+uWSGI+nginx+Centos部署

    说明:系统是在windows上开发的,使用django1.11.4+python3.6.3开发,需要部署在centos6.4服务器上. 第一步:在Centos6.4上安装Python3.6.2 安装请 ...

  9. Tarjan求LCA(离线)

    基本思想 把要求的点对保存下来,在dfs时顺带求出来. 方法 将每个已经遍历的点指向它回溯的最高节点(遍历它的子树时指向自己),每遍历到一个点就处理它存在的询问如果另一个点已经遍历,则lca就是另一个 ...

  10. HDU2896 病毒侵袭 AC自动机模板

    各种MLE,这模板感觉有问题,next数组开128也会MLE,实际上可见字符为编号32~126,只用开100就行. #include <iostream> #include <cst ...