SQL sever中的视图

这篇具有很好参考价值的文章主要介绍了SQL sever中的视图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、视图概述:

二、视图好处

三、创建视图

法一:

法二:

四、查看视图信息

五、视图插入数据

六、视图修改数据

七、视图删除数据

八、删除视图

法一:

法二:


一、视图概述:

    视图是一种常用的数据库对象,它将查询的结果以虚拟表的形式存储在数据中。视图并不在数据库中以存储数据集的形式存在。视图的结构和内容是建立在对表的查询基础之上的,和表一样包括行和列,这些行列数据都来源于其所引用的表,并且是在引用视图过程中动态生成的。
视图中的内容是由查询定义来的,并且视图和查询都是通过SQL语句定义的,它们有着许多相同和不同之处,具体如下。

  • ☑存储:视图存储为数据库设计的一部分,而查询则不是。视图可以禁止所有用户访问数据库中的基表,而要求用户只能通过视图操作数据。这种方法可以保护用户和应用程序不受某些数据库修改的影响,同样也可以保护数据表的安全性。
  • ☑排序:可以排序任何查询结果,但是只有当视图包括TOP子句时才能排序视图。

总之,视图是由一个或多个表(或其他视图)派生的虚拟表。视图是基于查询结果集的命名查询,它包含了从一个或多个表中选择的特定列和行。因此视图可以被认为是一种虚拟表,其内容并不实际存储在数据库中,而是在查询时动态生成。通过创建视图,我们可以隐藏底层表的复杂性,简化复杂查询,并提供一种方便和安全的方式来访问数据。视图只是定义了一个查询,并根据查询的结果生成数据。

视图为数据呈现提供了多样的表现形式,用户可以通过它浏览表中感兴趣的数据。在SQL Server
2008中视图分为以下3类。

  • ☑标准视图:保存在数据库中的SELECT查询语句,即通常意义上理解的视图。
  • ☑索引视图:创建有索引的视图称为索引视图。它经过计算并存储有自己的数据,可以提高某些类型查询的性能,尤其适用于聚合许多行的查询,但不太适用于经常更新的基本数据集。
  • ☑分区视图:是在一台或多台服务器间水平联结一组表中的分区数据,以使数据看上去来源于一个表。

二、视图好处

使用视图的好处包括:

  • 简化复杂的查询:视图可以根据具体的业务需求和逻辑将复杂的查询操作进行封装,提供更简洁易懂的查询语句。
  • 提高性能:视图可以对查询结果进行缓存,当查询相同的数据时,可以减少查询时间和数据库负载。
  • 数据安全性:通过视图,可以控制用户对数据的访问权限,限制他们只能查看和操作特定的列或行,从而保护数据的安全性。

三、创建视图

法一:

使用SQL Server Management Studio创建视图 ,具体操作步骤如下:

(1)启动SQL Server Management Studio,并连接到SQL Server2008中的数据库。

(2)在“对象资源浏览器”中展开“数据库”节点,展开指定的数据库,比如我选择的是SJCX。

(3)右击“视图”选项,在弹出的快捷菜单中选择“新建视图”命令,如图所示。

sql server 创建视图,SQL sever,sql,数据库,sqlserver

(4)打开“添加表”对话框,如图所示。在列表框中选择表rank,单击“添
加”按钮,然后单击“关闭”按钮关闭该对话框。

sql server 创建视图,SQL sever,sql,数据库,sqlserver

(5)进入视图设计器界面,如图所示。在“表选择区”中选择“所有列”选项,单击执行按
钮,视图结果区中自动显示视图结果。

sql server 创建视图,SQL sever,sql,数据库,sqlserver

(6)单击工具栏中的“保存”按钮口,弹出“选择名称”对话框,如图所示。在“输入视图名称”文本框中输入视图名称View_Rank,单击“确定”按钮即可保存该视图。 

sql server 创建视图,SQL sever,sql,数据库,sqlserver

法二:

使用 CREATE VIEW 语句,具体语法如下:

CREATE VIEW view_name AS
SELECT column1, column2, ...
FROM table(s)
WHERE condition;

 比如选择数据库SJCX,创建视图View_people,则SQL语句为:

CREATE VIEW view_people AS
SELECT [DepartmentId]
      ,[RankId]
      ,[PeopleId]
      ,[PeopleName]
      ,[PeopleGender]
      ,[PeopleBirth]
      ,[PeopleSalary]
      ,[PeoplePhone]
      ,[PeopleAddress]
      ,[peopleAddTime]
      ,[PeopleMail]
  FROM [SJCX].[dbo].[People];

执行该SQL语句后即创建成功。这是最常用的创建视图的方法,使用 CREATE VIEW 语句指定视图的名称(view_name),然后在 SELECT 子句中定义视图所选择的列和表(或其他视图),并可以包含一个可选的 WHERE 子句来筛选数据。

四、查看视图信息

下面在SQL Server Management Studio中查看视图View Stu的信息,具体操作步骤如下。

(1)启动SQL Server Management Studio,并连接到SQL Server2008中的数据库。

(2)在“对象资源浏览器”中展开“数据库”节点,展开指定的数据库SJCX。

(3)再依次展开“视图”节点,就会显示出当前数据库中的所有视图,右击要查看信息的视图。

sql server 创建视图,SQL sever,sql,数据库,sqlserver

(4)在弹出的快捷菜单中,如果想要查看视图的属性,选择“属性”选项,弹出“视图属性”对话框,如图所示:

sql server 创建视图,SQL sever,sql,数据库,sqlserver

(5)如果想要查看视图中的内容,可在图所示的快捷菜单中选择“编辑前200行”选项,在右侧即可显示视图中的内容。

(6)如果想要重新设置视图,可在快捷菜单中选择“设计”选项,打开视图的设计界面,如图所示。在此界面中可对视图重新进行设置。

sql server 创建视图,SQL sever,sql,数据库,sqlserver        

五、视图插入数据

使用视图可以插入新的记录,但应该注意的是,新插入的数据实际上是存储在与视图相关的表中。
示例:
向视图View_Rank中插入信息“4,顶级”。
步骤如下:
(1)右击要插入记录的视图,在弹出的快捷菜单中选择“设计”命令,显示视图的设计界面。
(2)在显示视图结果的最下面一行直接输入新记录即可,如图所示。

sql server 创建视图,SQL sever,sql,数据库,sqlserver
(3)然后按下Enter键,即可把信息插入到视图中。

(4)单击!按钮,完成新记录的添加,如图所示:

sql server 创建视图,SQL sever,sql,数据库,sqlserver

六、视图修改数据

使用视图可以修改数据记录,但是与插入记录相同,修改的是数据表中的数据记录。
示例:
修改视图View_Rank中的记录,将“顶级”修改为“低级”。
步骤如下:
(1)右击要修改记录的视图,在弹出的快捷菜单中选择“设计”命令,显示视图的设计界面。
(2)在显示的视图结果中,选择要修改的内容,直接修改即可。
(3)最后按下Enter键,即可把信息保存到视图中。 

sql server 创建视图,SQL sever,sql,数据库,sqlserver

七、视图删除数据

使用视图可以删除数据记录,但是与插入记录相同,删除的是数据表中的数据记录。
示例:
删除视图View_Rank中的记录“低级”。
步骤如下:
(1)右击要删除记录的视图,在弹出的快捷菜单中选择“设计”命令,显示视图的设计界面。
(2)在显示视图的结果中,右击要删除的行“低级”,在弹出的快捷菜单中选择“删除”命令,弹出“删除”对话框,如图所示。

sql server 创建视图,SQL sever,sql,数据库,sqlserver
(3)单击“是”按钮,便可将该记录删除。 

sql server 创建视图,SQL sever,sql,数据库,sqlserver

(4)检查结果,如图所示:

sql server 创建视图,SQL sever,sql,数据库,sqlserver

八、删除视图

对于数据库中不需要的视图可以将其删除,以释放存储空间。可以使用企业管理器将其删除,也
可以使用SQL语句将其删除。

法一:

使用企业管理器删除视图的步骤如下:
(1)启动SQL Server Management Studio,.并连接到SQL Server2008中的数据库。
(2)在“对象资源管理器”中依次展开“数据库”指定的数据库/“视图”节点。
(3)右击要删除的视图,在弹出的快捷菜单中选择“删除”命令,弹出“删除对象”对话框,如图所示。 在“删除对象”对话框中,单击“显示依赖关系”按钮,可以显示与该视图有关的数据表和视图,单击“确定”按钮,便可将该视图删除。

sql server 创建视图,SQL sever,sql,数据库,sqlserver

注意:
在删除之前,应该先查看视图的依赖关系,如果有对象依赖于要删除的视图,那么要确
定是否要保存该对象,如果不保存,则可以直接将该视图删除,否则将不能删除该视图。

法二:

使用 DROP VIEW 语句来删除视图。下面是删除视图的语法:

DROP VIEW [IF EXISTS] view_name;

--或者
IF OBJECT_ID('view_name', 'V') IS NOT NULL
    DROP VIEW view_name;

可选的 IF EXISTS 子句用于检查视图是否存在。如果视图不存在,执行语句时不会引发错误。

使用 OBJECT_ID 函数检查视图是否存在(V 表示视图),如果存在则执行 DROP VIEW 语句进行删除。

注意:

从 SQL Server 2016 版本开始,引入了 DROP VIEW IF EXISTS 语法。因此,如果使用的是 SQL Server 2016 及其更高版本,可以直接使用该语法来删除视图。

示例:

删除视图view_people:

-- 删除视图
DROP VIEW view_people;

-- 删除视图(如果存在)
DROP VIEW IF EXISTS view_people;

--或者
IF OBJECT_ID('view_people', 'V') IS NOT NULL
    DROP VIEW view_people;

  文章来源地址https://www.toymoban.com/news/detail-771979.html

到了这里,关于SQL sever中的视图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • sql 创建sql server数据库文件组

    可以在建立数据库时候创建 如: CREATE DATABASE MyDB ON PRIMARY                           --主文件组和主要数据文件   ( NAME=\\\'MyDB_Primary\\\',    FILENAME= \\\'c:MyDB_Prm.mdf\\\'), FILEGROUP MyDB_FG1                   --用户定义文件组1   ( NAME = \\\'MyDB_FG1_Dat1\\\',    FILENAME = \\\'c:MyDB_FG1_1.ndf\\\'),  --次要数

    2024年02月08日
    浏览(66)
  • SQL Server数据库——创建数据库

    目录 一、界面方式创建数据库 1.1创建数据库xscj,数据文件和日志文件的属性按默认值设置  1.2在xscj数据库中增加文件xcsj1,其属性均取系统默认值  1.3在数据库xscj中增加一个名为myGroup的文件组。 1.4数据库的重命名  1.5数据库的删除  二、命令方式创建数据库 以创建学生管

    2024年02月01日
    浏览(67)
  • 【SQL Server】数据库开发指南(六)索引和视图的使用技巧、方法与综合应用

    本系列博文还在更新中,收录在专栏:#MS-SQL Server 专栏中。 本系列文章列表如下: 【SQL Server】 Linux 运维下对 SQL Server 进行安装、升级、回滚、卸载操作 【SQL Server】数据库开发指南(一)数据库设计的核心概念和基本步骤 【SQL Server】数据库开发指南(二)MSSQL数据库开发对

    2024年02月06日
    浏览(80)
  • SQL Server数据库的创建方法

    可以使用以下3种方法创建数据库。 一.使用SQL Server Management Studio创建数据库 二..使用CREATE DATABASE 语句创建数据库。 三.使用模板创建数据库 一.使用SQL Server Management Studio创建数据库 创建一个名为“学生选课”的学生选课管理数据库 在 SQL Server Management Studio左侧,有个“对象

    2023年04月08日
    浏览(92)
  • SQL Server数据库 -- 表的创建与管理

    一、数据表的组成 二、创建数据表 表的创建 表的查看 表的增加 表的修改 表的删除、 三、表的架构操作 四、总结 上次博客写到了数据库的创建与管理,但是创建的库里面什么东西都没有,现在我们需要在库里面添加数据表内容   在创建表之前,我们需要先知道表里面有哪

    2024年02月11日
    浏览(77)
  • sql2016创建镜像数据库时报错(Microsoft SQL Server, Error: 927)

    在配置镜像最后一步报错:Database ‘XXX’ cannot be opened. It is in the middle of a restore. (Microsoft SQL Server, Error: 927) 解决办法: 执行命令 镜像库Mirror Server: USE MASTER; GO ALTER DATABASE SET PARTNER = ‘TCP://PrincipalServer:5022’ GO 主库Principal server: USE MASTER; GO ALTER DATABASE SET PARTNER = ‘TCP://MirrorSe

    2024年02月05日
    浏览(63)
  • 【数据库】sql server 中的sql语句--增删改查

    上面是要建立的数据库 下面是sql语句:  

    2024年02月05日
    浏览(54)
  • C# 连接SQL Sever 数据库

    获取服务器名,用户名,密码以及你要访问的数据库 1.新建一个项目(控制台应用) 2. 引入相关命名空间 3.访问数据库 我的数据库的信息: 服务器名 :DESKTOP-56DN3HD 登录名 :Csharp 密码 :123456 数据库名 :LibraryManagementSystem 方法一 方法二 (1)是数据源服务器 (2)是要访问的数据

    2024年02月08日
    浏览(45)
  • SQL Server 实验一 数据库的创建和使用

    任务描述 本关简要介绍 SQL Server 数据库、 SQL Server 中的系统数据库和用户数据库,根据介绍的知识完成相关选择题。 相关知识 SQL Server 简介 数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。在当今的互

    2024年02月07日
    浏览(54)
  • SQL Server实战一:创建、分离、附加、删除、备份数据库

      本文介绍基于 Microsoft SQL Server 软件,实现数据库 创建、分离、附加、删除 与 备份 的方法。 目录 1 交互式创建数据库 2 Transact-SQL指定参数创建数据库 3 交互式分离数据库testbase1 4 使用系统存储过程分离数据库testbase2 5 数据库文件备份:分离数据库再复制其物理文件 6 数

    2024年04月24日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包