<数据库视图>--数据库的“眼镜”(世界杯例题篇),查阅必备
创始人
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

相关内容

热门资讯

保存时出现了1个错误,导致这篇... 当保存文章时出现错误时,可以通过以下步骤解决问题:查看错误信息:查看错误提示信息可以帮助我们了解具体...
汇川伺服电机位置控制模式参数配... 1. 基本控制参数设置 1)设置位置控制模式   2)绝对值位置线性模...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
表格中数据未显示 当表格中的数据未显示时,可能是由于以下几个原因导致的:HTML代码问题:检查表格的HTML代码是否正...
本地主机上的图像未显示 问题描述:在本地主机上显示图像时,图像未能正常显示。解决方法:以下是一些可能的解决方法,具体取决于问...
表格列调整大小出现问题 问题描述:表格列调整大小出现问题,无法正常调整列宽。解决方法:检查表格的布局方式是否正确。确保表格使...
不一致的条件格式 要解决不一致的条件格式问题,可以按照以下步骤进行:确定条件格式的规则:首先,需要明确条件格式的规则是...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...