MySQl基础入门⑯【操作视图】完结

2024-06-18 17:44

本文主要是介绍MySQl基础入门⑯【操作视图】完结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上一边文章内容

表准备

CREATE TABLE Students (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(100),email VARCHAR(255),major VARCHAR(100),score int,phone_number VARCHAR(20),entry_year INT,salary DECIMAL(10, 2)
);

数据准备

INSERT INTO Students (id, name, email, major, score, phone_number, entry_year, salary)
VALUES
(1, '朱晓明', 'zxming@student.edu.cn', '计算机科学与技术', 88, '13900111222', 2019, 12000.00),
(2, '刘洋', 'liuyang@example.com', '电子信息工程', 92, '13822223333', 2020, 9800.00),
(3, '陈静', 'chenjing@example.edu', '工商管理', 85, '13733334444', 2018, 10500.00),
(4, '杨辉', 'yanghui@student.university.edu.cn', '软件工程', 90, '13644445555', 2017, 11000.00),
(5, '马丽', 'mali@example.com', '英语语言文学', 89, '13555556666', 2021, 8500.00),
(6, '何勇', 'heyong@example.net', '机械设计制造及其自动化', 87, '13466667777', 2016, 13000.00),
(7, '宋佳', 'songjia@example.org', '临床医学', 91, '13377778888', 2022, 10000.00),
(8, '罗敏', 'luomin@alumni.edu.cn', '通信工程', 86, '13288889999', 2015, 12500.00),
(9, '唐薇', 'tangwei@university.edu',  '会计学', 93, '13199990000', 2020, 9500.00),
(10, '曹雷', 'caolei@example.com', '土木工程', 84, '13000001111', 2019, 11500.00),
(11, '张波', 'zhangbo@example.com', '电子信息工程', 90, '13312345678', 2020, 9200.00),
(12, '李娜', 'lina@example.edu', '工商管理', 87, '13723456789', 2019, 10200.00),
(13, '王刚', 'wanggang@student.university.edu.cn', '软件工程', 88, '13834567890', 2018, 10800.00),
(14, '赵敏', 'zhaomin@example.com', '英语语言文学', 94, '13545678901', 2021, 8800.00),
(15, '孙悦', 'sunyue@example.net', '机械设计制造及其自动化', 83, '13656789012', 2017, 13200.00),
(16, '周杰', 'zhoujie@example.org', '临床医学', 95, '13767789101', 2022, 9800.00),
(17, '吴亮', 'wuliang@alumni.edu.cn', '通信工程', 82, '13887889101', 2015, 12300.00),
(18, '郑洁', 'zhengjie@university.edu', '会计学', 91, '13901234567', 2020, 9300.00),
(19, '冯浩', 'fenghao@example.com', '土木工程', 81, '13112345678', 2019, 11300.00),
(20, '陈晨', 'chenchen@example.edu', '电子信息工程', 89, '13223456789', 2020, 9600.00),
(21, '褚强', 'chuqiang@student.university.edu.cn', '工商管理', 97, '13345678901', 2018, 10300.00),
(22, '卫芳', 'weifang@example.com', '软件工程', 86, '13456789101', 2017, 11100.00),
(23, '蒋丽', 'jiangli@example.net', '英语语言文学', 92, '13567899101', 2021, 8700.00),
(24, '沈刚', 'shengang@example.org', '机械设计制造及其自动化', 80, '13678901123', 2016, 13100.00),
(25, '韩敏', 'hanmin@alumni.edu.cn', '临床医学', 96, '13789012345', 2022, 9900.00),
(26, '杨波', 'yangbo@university.edu', '通信工程', 84, '13899101234', 2015, 12100.00),
(27, '朱洁', 'zhujie@example.com', '会计学', 98, '13001234567', 2020, 9700.00),
(28, '秦浩', 'qinhao@example.edu', '土木工程', 85, '13112345678', 2019, 11200.00),
(29, '尤娜', 'youna@student.university.edu.cn', '电子信息工程', 93, '13223456789', 2020, 9400.00),
(30, '许强', 'xuqiang@example.com', '工商管理', 88, '13334567890', 2018, 10400.00);

视图准备

创建视图

create view view_xs as select name,major,phone_number from studentsV;

在这里插入图片描述

1.修改视图

第一种方法:使用create or replace view 语句修改视图

可以看到,修改视图的语句和创建视图的语句是完全一样的。如果视图已经存在,那么使用修改语句对视图进行修改;如果视图不存在,那么将创建一个新的视图。

create or replace view view_xs as select name,email,entry_year from studentsV;

在这里插入图片描述

第二种方法:使用ALTER 语句修改视图

 alter view view_xs as select id,name,salary from studentsV where salary >=10000;

在这里插入图片描述

修改练习

1.在原来的视图view_xs中修改,修改成查询名字,专业,工资,且工资大于等于10000。
答案效果展示:
在这里插入图片描述

2.在原来的视图view_xs中修改,统计每个专业的人数。
答案效果展示:
在这里插入图片描述

3.在原来的视图view_xs中修改,按成绩排序前五的学生信息。
答案效果展示:
在这里插入图片描述

4.统计每个专业的平均分,并且按分数从高到低排序
答案效果展示:
在这里插入图片描述

视图准备

创建视图

create view view_up as select name,major,phone_number from studentsV;

2.利用视图更新数据

第一种方法:使用update语句更新视图

使用update语句对视图原有的数据进行更新。
在这里插入图片描述
把手机号码13822223333的姓名改为张三。

update view_up set name = '张三' where phone_number =13822223333;

在这里插入图片描述

第二种方法:使用insert语句更新视图

在刚刚的视图view_up中插入一条数据

insert into view_up (name,major,phone_number) values("李四","软件工程","13334567899");

使用insert语句对视图中的基本表插入一条记录李四。
在这里插入图片描述

第三种方法:使用delete语句更新视图

可以使用DELETE语句对视图中的基本表删除部分记录
注意点:

3.删除视图

删除视图

drop view view_up;

在这里插入图片描述

这篇关于MySQl基础入门⑯【操作视图】完结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1072678

相关文章

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL常用字符串函数示例和场景介绍

《MySQL常用字符串函数示例和场景介绍》MySQL提供了丰富的字符串函数帮助我们高效地对字符串进行处理、转换和分析,本文我将全面且深入地介绍MySQL常用的字符串函数,并结合具体示例和场景,帮你熟练... 目录一、字符串函数概述1.1 字符串函数的作用1.2 字符串函数分类二、字符串长度与统计函数2.1

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Spring WebClient从入门到精通

《SpringWebClient从入门到精通》本文详解SpringWebClient非阻塞响应式特性及优势,涵盖核心API、实战应用与性能优化,对比RestTemplate,为微服务通信提供高效解决... 目录一、WebClient 概述1.1 为什么选择 WebClient?1.2 WebClient 与

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

Mysql中设计数据表的过程解析

《Mysql中设计数据表的过程解析》数据库约束通过NOTNULL、UNIQUE、DEFAULT、主键和外键等规则保障数据完整性,自动校验数据,减少人工错误,提升数据一致性和业务逻辑严谨性,本文介绍My... 目录1.引言2.NOT NULL——制定某列不可以存储NULL值2.UNIQUE——保证某一列的每一

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali