当前位置: 首页 > article >正文

Microsoft Sql Server 2019 视图

视图核心价值

在数据查询中,可以看到数据表设计过程中,考虑到数据的冗余度低、数据一致性等问题,通常对数据 表的设计要满足范式的要求,因此也会造成一个实体的所有信息保存在多个表中。当检索数据时,往往 在一个表中不能够得到想要的所有信息。 为了解决这种矛盾,在SQL Server中提供了视图。

视图的概念

视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表 进行查询的结果; 只存放视图的定义,不存放视图对应的数据; 基表中的数据发生变化,从视图中查询出的数据也随之改变。

在绘图和设计领域呀,视图可能指的是从不同角度或方位展示物体或场景的图像。比如在设计软件里,可以有主视图、俯视图、侧视图等各种视图,帮助设计师更全面地理解和呈现设计作品。

在数据库领域,视图(View)是一种虚拟存在的表,它并不在数据库中实际存储数据,而是保存了查询的SQL逻辑。视图的数据来自定义视图时使用的SELECT查询的表,并且是在使用视图时动态生成的。

创建视图

创建视图的基本语法格式如下:

CREATE [OR REPLACE] VIEW 视图名称[(列名列表)] 
AS SELECT 语句 [WITH [CASCADED | LOCAL] CHECK OPTION];
  • CREATE OR REPLACE VIEW:如果要创建的视图名称已存在,则替换已有视图。
  • 视图名称:为视图指定的名称。
  • 列名列表:视图的字段列表,如果省略,则使用SELECT语句中的字段列表。
  • SELECT 语句:用于定义视图数据的SELECT查询。
  • WITH [CASCADED | LOCAL] CHECK OPTION:可选参数,用于定义对视图进行更新、插入或删除操作时,是否要检查这些操作是否符合视图的定义。

数据库管理工具创建  Sql脚本创建

create view companyloinlserview as
SELECT c.*
FROM [LearnEdu].[dbo].[Company]c 
left join [ZhaoxiEdu].[dbo].[SysUser]s on c. Id-s. Companyld

视图查询,修改、删除,增加

查询视图 

查询视图的数据与查询普通表的数据一样,使用SELECT语句即可:

SELECT * FROM 视图名称;

 或者,如果只想查询视图的某些列,可以在SELECT语句中指定列名:

SELECT 列名1, 列名2 FROM 视图名称;

推荐大家在使用视图的时候,仅用作查询。

不推荐大家基于视图来做增删改  

注意事项

  • 视图中的数据并不是实际存储在数据库中的,而是动态生成的,因此对视图的查询实际上是对基表(定义视图时使用的表)的查询。
  • 对视图进行操作(如查询、修改、删除等)时,需要遵循一定的规则。例如,视图中的行与基表中的行之间必须存在一对一的关系,视图中的列不能是表达式、子查询等,否则视图可能不可更新。


http://www.kler.cn/a/500583.html

相关文章:

  • 阿里云-Centos9-安装Docker-配置镜像拉取加速地址-开机自启
  • 微信小程序用的SSL证书有什么要求吗?
  • java通过ocr实现识别pdf中的文字
  • DELTA并联机械手视觉方案荣获2024年度机器人应用典型案例奖
  • 代码随想录算法训练营第3天(链表1)| 203.移除链表元素 707.设计链表 206.反转链表
  • Unity Burst详解
  • 第六届土木建筑及灾害防控国际学术会议暨第三届智慧城市建筑与基础设施耐久性国际学术会议(CADPC DuraBI 2025)
  • 33_操作Redis分片集群
  • 用C语言实现推箱子小游戏
  • windows C#-泛型方法
  • Python----Python基础(字符串,列表,元组,字典,集合的总结)
  • 【CSS】设置滚动条样式
  • 【源码解析】Java NIO 包中的 MappedByteBuffer
  • 一文详解YOLOv8多模态目标检测(可见光+红外图像,基于Ultralytics官方代码实现),轻松入门多模态检测领域!
  • 金融项目实战 03|JMeter脚本实现手工接口测试
  • 【微信小程序】回到顶部图标-页面滚动事件 | 漫画-综合实训
  • 深度学习中的EMA技术:原理、实现与实验分析
  • 计算机网络之---传输层的功能
  • conntrack iptables 安全组
  • Oracle 使用dbms_stats.gather_table_stats来进行表analyse,收集表统计信息
  • 《零基础Go语言算法实战》【题目 2-7】defer 关键字特性
  • spring boot 支持jsonp请求
  • 阿里云发现后门webshell,怎么处理,怎么解决?
  • React - router的使用 结合react-redux的路由守卫
  • 依赖网络系统混合级联故障下系统可靠性提高与弹性的组合优化
  • 网络安全 | Web安全常见漏洞和防护经验策略