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

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...