<数据库视图>--数据库的“眼镜”(世界杯例题篇),查阅必备
创始人
2024-03-04 15:36:01
0

在这里插入图片描述

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

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

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWR报告解读 WORKLOAD REPOSITORY PDB report (PDB snapshots) AW...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
群晖外网访问终极解决方法:IP... 写在前面的话 受够了群晖的quickconnet的小水管了,急需一个新的解决方法&#x...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Azure构建流程(Power... 这可能是由于配置错误导致的问题。请检查构建流程任务中的“发布构建制品”步骤,确保正确配置了“Arti...