<数据库视图>--数据库的“眼镜”(世界杯例题篇),查阅必备

news2025/1/15 6:26:43

在这里插入图片描述

👨‍💻个人主页:@元宇宙-秩沅

hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

本文由 秩沅 原创

**收录于专栏 数据库干货铺

⭐外模式—视图⭐


文章目录

    • ⭐外模式---视图⭐
  • 一,概念提炼
  • 二,视图的创建及使用
    • 👨‍💻👍创建 -----(见例题一)
    • 👨‍💻👍修改-----(见例题三)
    • 👨‍💻👍插入
    • 👨‍💻👍更新
    • 👨‍💻👍删除
  • 三,例题大全 之 ( 世界杯 )
    • 👨‍💻👍1.创建一个葡萄牙球队的球员视图(包括姓名、性别、站位)
    • 👨‍💻👍2.创建一个球员平均成绩视图(包括学号、比赛1平均成绩、比赛2平均成绩、比赛3平均成绩,比赛4平均成绩)。
    • 👨‍💻👍3.修改一个球员平均成绩视图去除平均成绩四


一,概念提炼


👨‍💻1.视图是数据库中的一个对象,它是数据库管理系统提供给用户的 以多种角度观察数据库数据 的一种重要机制



👨‍💻2.视图是一个虚表,在SQL中,它是基于SQL语句的结果集的可视化的表



👨‍💻3.好处


1.视图数据始终于基本表的数据保持一致

2.节省存储空间


👨‍💻4.特点


(1)

简化数据查询语句

(2)

使用户能从多角度看待同一数据

(3)

提高了数据的安全性

(4)

提供了一定程度的逻辑独立性

在这里插入图片描述


二,视图的创建及使用


在这里插入图片描述


👨‍💻👍创建 -----(见例题一)


格式:CREATE VIEW 视图名 (要写列名时写列名) AS SELECT语句

CREATE VIEW StudentView AS
SELECT Sno,Sname,Ssex FROM SC
WHERE Cname =‘马内尔’;

注意事项:

(1):SELECT 语句通常不包含 ORDER BY 和 DISTINCT 子句

(2):定义视图时要么指定全部列名,要么全部省略不写,不能只写视图的部分列名

(3):以下情况必须全部写列名

①某个目标列是函数或者表达式,并且在SELECT语句中无别名 如下文例题二
②多表连接时选出了几个同名作为视图的列
③在视图中为某个列选出其他更合适的列名


👨‍💻👍修改-----(见例题三)


**格式:ALTER VIEW <视图名> (要写列名时写列名) AS SELECT语句 **


ALTER VIEW View
AS
SELECT Grade1 FROM Studen ;

  • 可以通过视图可以修改表,但不是全部的视图都可以用于修改数据

👨‍💻👍插入


**格式:INSERT <视图名> (列名 ) VAULES 数据 **

如:INSERT coccerView( Sno,Sname,Ssex,Sdep,Sbirthday)
VALUES (‘15’,‘梅西’,‘男’,‘前锋’,‘1111-222-22’);

  • 在视图中插入数据也会改变相应表中的数据

👨‍💻👍更新


**格式:UpData <视图名> SET(列名 ) WHERE 限制条件 **

如:UPDATE soccerView
SET Sno = ‘7’
WHERE Sname = ‘梅西’;

  • 在视图中更新数据也会改变相应表中的数据

👨‍💻👍删除


1.删除视图

**格式:DROP VIEW 视图名 **

  • 如果被删除的视图是其他视图的数据源,那么其他视图也无法显示资源
  • 如果基本表被删除,视图也无法使用

2,删除数据

**格式:DELETE FORM 视图名 WHERE 限制条件 **


三,例题大全 之 ( 世界杯 )


👨‍💻👍1.创建一个葡萄牙球队的球员视图(包括姓名、性别、站位)


CREATE VIEW ManView AS
SELECT Sno,Sname,Sthday FROM soccerTeam
WHERE Sdep = ‘葡萄牙’;


👨‍💻👍2.创建一个球员平均成绩视图(包括学号、比赛1平均成绩、比赛2平均成绩、比赛3平均成绩,比赛4平均成绩)。


CREATE VIEW Avarage (Qno,S1,S2,S3,S4) // 需要写出全部的指定列名,因为Qno是函数
AS
SELECT Sno ,AVG(Grade_ball1),AVG(Grade_ball2),AVG(Grade_ball3) ,AVG(Grade_ball4) FROM SoccerGrade
GROUP BY Qno;


👨‍💻👍3.修改一个球员平均成绩视图去除平均成绩四


ALTER VIEW Avarage (Qno,S1,S2) // 需要写出全部的指定列名,因为Qno是函数
AS
SELECT Sno ,AVG(Grade_ball1),AVG(Grade_ball2) FROM SoccerGrade
GROUP BY Qno;

你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!

![在这里插入图片描述](https://img-blog.csdnimg.cn/2f348532350f47f288e024961610900b.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/49689.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一文解决Linux Conntrack:为什么它会崩溃,如何避免这个问题

前言 连接跟踪&#xff08;“conntrack”&#xff09;是 Linux 内核网络栈的核心特性。它允许内核跟踪所有的逻辑网络连接或数据包流&#xff0c;从而识别组成每个流的所有数据包&#xff0c;以便能够统一的处理它们。 Conntrack 是一个重要的内核特性&#xff0c;它支撑了一…

mysql进阶学习 - concat函数

目录指导: 语法:作用:说明:实例说明:相关问题:语法: concat(str1, str2, ...)作用: 将多个字符串拼接成一个字符串 说明: 该函数中的参数至少有一个参数, 否则会报错;该函数在拼接之前会将所有的参数转换为字符串类型;该函数如果某个参数为NULL, 则返回NULL值. 实例说明: 说…

blender 烘焙贴图

文章目录烘焙基础色贴图查看烘焙结果图片保存图片烘焙其他类型的贴图烘焙法线贴图TexTools插件ID Map制作ID Map使用ID Map烘焙基础色贴图 1 只有CY渲染器可以烘焙贴图 2 首先在材质栏里创建一个新的图像纹理节点&#xff0c;不需要和任何节点连接&#xff0c;点击新建&#x…

gdb常用调试命令 + 多进程调试命令

要使用 gdb 调试&#xff0c;必须在gcc / g 生成执行文件时&#xff0c;加上 -g 选项&#xff0c;那么在生成的时候&#xff0c;就会在该执行文件中加入一些debug信息。 gcc -g -o test test.c 目录 1、常用调试命令 (1) 进入 / 退出调试模式 (2) 开始调试 2、多进程调试命…

mybatis学习:二、 Mybatis的Dao开发、mybatis-config.xml文件的详情

3. Mybatis的Dao开发 ​ 使用Mybatis开发Dao&#xff0c;通常有两个方法&#xff0c;即原始Dao开发方法和Mapper接口开发方法。 3.1 Mybatis的核心对象 SqlSessionFactoryBuilder ​ SqlSessionFactoryBuilder用于创建SqlSessionFacoty&#xff0c;SqlSessionFacoty一旦创建完…

nginx学习使用

nginx学习使用一、nginx安装与使用1、linux安装2、linux卸载3、升级4、linux环境下&#xff0c;把nginx设置为开启自启动二、nginx常用命令1、部署命令2、其他命令三、配置文件解析1、系统配置2、各配置指令详解3、日志配置4、跟据上面的命令&#xff0c;实现一个代理配置案例5…

2022FW柯罗芭KLOVA 用极简主义演绎服装美学

万物伊始&#xff0c;一切都是最简单的&#xff0c;后疫情时代&#xff0c;时尚似乎也开始化繁为简&#xff0c;回归本真。LESS IS MORE 诉说着真实的高贵&#xff0c;从不喧哗&#xff0c;服装里讲究的极简风&#xff0c;正是当下时尚和生活方式的最佳体现。 款式极简 极简又高…

Spring Boot中添加Thymeleaf模板

Spring Boot中添加Thymeleaf模板 前面我们讲解了Spring Boot项目的创建、Spring Boot结构信息&#xff0c;自动配置功能等&#xff0c;那么Springboot创建出来&#xff0c;我们最终是要做web开发的&#xff0c;所以我们这章讲解如何用SpringBoot做web开发。 一. Web开发方式 …

Maven 高级篇,Maven常用操作、高级操作、nexus私服搭建

&#x1f600;&#x1f600;&#x1f600;创作不易&#xff0c;各位看官点赞收藏. Maven 高级篇 文章目录Maven 高级篇1、Maven 安装2、Maven 核心概念2.1、坐标2.2、基础操作2.3、依赖2.4、继承2.5、生命周期3、Maven 深入3.1、Spring Boot 打包3.2、超级 POM3.3、build 标签…

计算机网络第八章知识点回顾(自顶向下)

1. 网络安全 1.1 什么是网络安全&#xff1f; 1.2网络中的通信安全 1.2.1 安全攻击的类型&#xff1a;被动攻击 1.2.2 安全攻击的类型&#xff1a;主动攻击 1.3 常见的安全机制 2. 密码学术语 2.1 密码学术语&#xff08;图示&#xff09; 2.2加密算法的分类 2.3 传统加密方法&…

专访D-Wave CEO:量子计算的过去、现在和未来

&#xff08;图片来源&#xff1a;网络&#xff09; 量子计算可能成为一项颠覆性技术&#xff1a;它建立在听起来非常奇特的物理学基础上&#xff0c;并有望以前所未有的速度和效率解决某些类别的问题。一些人认为&#xff0c;目前在量子计算领域的承诺太多&#xff0c;交付却不…

【wms平台化】一个简单的wms九表架构

仓库管理软件的未来有几个方向&#xff1a;平台化、行业化、一体化、精简化。 然而其中行业化跟精简化&#xff0c;其实都离不开平台化。 也就是说&#xff0c;不论wms软件如何发展&#xff0c;唯有平台化一择。 在本人从事的传统型wms项目中&#xff0c;对于库存的定义是【在…

ch1_系统启动_setup.S

1 功能分析 大写的.s 后缀名&#xff0c; 是为了说明是一个16位&#xff0c; 实模式下的汇编语言&#xff0c; 小写的 s 是保护模式下的汇编语言&#xff1b; 1.1 使用中断&#xff0c;读取机器参数 setup.S 是一个操作系统的加载程序&#xff0c; 主要作用使用 ROM BIOS 中…

我为什么拒绝了一个5年测开经验的候选人

某互联网大厂的测试开发岗位招聘时&#xff0c;收到一位 5 年测试开发经验的候选人&#xff0c;是南京大学软件学院的硕士&#xff0c;毕业后一直在国内的互联网巨头公司从事测试框架和工具平台的开发工作。 他简历中参与开发过的测试框架和工具和当时该公司在做的项目很匹配&…

一. 编程规则

命名风格 1.不能以下划线或美元符号开头或结尾,不许使用中英文混合的模式命名. 2.必须使用驼峰命名,DO/BO/DTP/Vo/AO例外 3.常量名全部大写,单词用下划线隔开 4.抽象命名使用Abstract或Base开头,异常命名使用Exception结尾,测试类以Test结尾,枚举类名带上Enum后缀,枚举成员…

认真学习MySQL的事务日志-Redo日志

事务有4种特性&#xff1a;原子性、一致性、隔离性和持久性。那么事务的四种特性到底是基于什么机制实现呢&#xff1f; 事务的隔离性由锁机制执行。事务的原子性、一致性和持久性由事务的redo日志和undo日志来保证。 redo log称为重做日志&#xff0c;提供再写入操作&#x…

考研数据结构大题整合_组一(ZYL组)_做题版

考研数据结构大题整合 目录考研数据结构大题整合一、ZYL组ZYL组一ZYL组二ZYL组三ZYL组四ZYL组五ZYL组六ZYL组七ZYL组八一、ZYL组 ZYL组一 1.一棵树有度为i的结点ni 个(i1,2,3,…m), 求叶结点的个数.&#xff08;10分&#xff09; ∑i1m(ni∗i)1−∑i1m(ni)\sum_{i1}^m(n_i *i…

C++单例模板:使用宏函数实现

C单例模板&#xff1a;使用宏函数实现 在我们日常开发中&#xff0c;无可避免需要使用单例模式进行设计类对象&#xff0c;那么实际上我们写单例格式基本都是一样的&#xff0c;那么每次都要写几乎一模一样的代码来实现我们需要的单例对象是不是会觉得很累&#xff1f;下面博主…

新体验经济@2022: 世界杯、啤酒与供应链

【潮汐商业评论/原创】 四年后&#xff0c;世界杯再一次刷屏&#xff0c;绿茵场上挥洒着汗水与泪水&#xff0c;而绿茵场下的观众们也在对诸如“馄饨皮”、“卡塔尔小王子”和球队输赢等话题展开着热烈地讨论。 这其中当然也包括Hans&#xff0c;Hans是一名忠实的足球球迷&am…

mapper-reducer编程搭建

一.虚拟机安装CentOS7并配置共享文件夹 二.CentOS 7 上hadoop伪分布式搭建全流程完整教程 三.本机使用python操作hdfs搭建及常见问题 四.mapreduce搭建 五.mapper-reducer编程搭建 mapper-reducer编程搭建一、打开hadoop二、创建mapper.py、reducer.py及参数文件1.创建 mapper.…