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

MySQL——创建与管理视图

学习目标:

  • 一个月掌握MySQL入门知识

学习内容与笔记:

创建学生成绩管理数据库中的视图:可以理解为视图只是一个查询结果,看你需要哪些数据,在基表的基础上,生成视图,只展示数据。当基表内容发生改变,视图内容也发生改变。

  1. 创建基于一个基表的视图
  2. 创建基于多个基表的视图
  3. 查看视图的定义
  4. 修改视图
  5. 通过视图插入数据
  6. 通过视图修改数据
  7. 通过视图删除数据

1. 创建基于一个基表的视图

例1:创建学生视图,查看所有学生基本信息。

USE cjgl;
CREATE OR REPLACE VIEW 学生 AS  SELECT * FROM xs;
SELECT * FROM 学生;

例2:创建男生视图,查看所有男生基本信息。

CREATE VIEW 男生 AS SELECT 学号,姓名,专业名 FROM xs WHERE 性别='男';
SELECT * FROM 男生;

例3:创建学生平均成绩视图。

CREATE VIEW cj_avg AS 
SELECT 学号, AVG(成绩) AS 平均成绩 FROM cj GROUP BY 学号; 

2. 创建基于多个基表的视图

例1:创建学生成绩视图,包括学号、课程名、成绩。(两个基表)

CREATE VIEW xscj AS 
SELECT cj.学号, kc.课程名, cj.成绩 FROM cj, kc WHERE cj.课程号=kc.课程号;

例2:创建学生成绩视图2,包括学号、姓名、课程名、成绩。(三个基表)

CREATE VIEW xscj2 AS 
SELECT xs.学号, xs.姓名, kc.课程名, cj.成绩 FROM xs,kc,cj WHERE xs.学号=cj.学号 AND cj.课程号=kc.课程号;

3. 查看视图的定义

SHOW CREATE VIEW 学生; 

查看视图的定义

4. 修改视图——ALTER

ALTER VIEW xscj
AS
SELECT cj.学号, kc.课程名, cj.成绩, kc.TIME FROM cj, kc WHERE cj.课程号=kc.课程号;

5. 通过视图插入数据——INSERT INTO

INSERT INTO 学生 VALUES('10008', '米东', '数据', '男', '1999-01-12', 43, NULL);

6. 通过视图修改数据——UPDATE

UPDATE 学生 SET 性别='女' WHERE 学号='10006';

7. 通过视图删除数据

DELETE FROM 学生 WHERE 学号='10006';

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

相关文章:

  • 基于 Python 开发分布式任务调度系统案例剖析
  • 《深度学习实战》第2集-补充:卷积神经网络(CNN)与图像分类 实战代码解析和改进
  • 基于CNN的FashionMNIST数据集识别2——模型训练
  • Java+SpringBoot+Vue+数据可视化的在线家具定制服务平台(程序+论文+讲解+安装+调试+售后)
  • 网络安全体系
  • OpenGL 04--GLSL、数据类型、Uniform、着色器类
  • 服务器虚拟化是一种将物理服务器资源(如CPU、内存、存储、网络等)通过软件技术抽象、分割和整合,创建多个独立、隔离的虚拟服务器(虚拟机,VM)的技术。
  • C ++ 静态存储区+堆空间
  • 常见锁类型介绍
  • <网络> 网络基础3
  • AI大模型-提示工程学习笔记20-多模态思维链提示
  • C++ STL(二)deque
  • JVM垃圾回收器深度底层原理分析与知识体系构建
  • 神经网络 - 激活函数(Sigmoid 型函数)
  • 利用粒子群算法(PSO)来优化BP神经网络的权值和阈值
  • Flutter_boost混编开发系统MethodChannel之坑
  • Redis与MySQL数据一致性问题解决方案
  • 数据结构秘籍(一)线性数据结构
  • 【深度解析】Java接入DeepSeek大模型:从零实现流式对话+多轮会话管理(完整项目实战) —— SpringBoot整合、API安全封装、性能优化全攻略
  • sklearn机器学习 Python代码通用模板