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

上一边文章内容

表准备

sql 复制代码
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)
);

数据准备

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

视图准备

创建视图

sql 复制代码
create view view_xs as select name,major,phone_number from studentsV;

1.修改视图

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

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

sql 复制代码
create or replace view view_xs as select name,email,entry_year from studentsV;

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

sql 复制代码
 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.统计每个专业的平均分,并且按分数从高到低排序
答案效果展示:

视图准备

创建视图

sql 复制代码
create view view_up as select name,major,phone_number from studentsV;

2.利用视图更新数据

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

使用update语句对视图原有的数据进行更新。

把手机号码13822223333的姓名改为张三。

sql 复制代码
update view_up set name = '张三' where phone_number =13822223333;

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

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

sql 复制代码
insert into view_up (name,major,phone_number) values("李四","软件工程","13334567899");

使用insert语句对视图中的基本表插入一条记录李四。

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

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

注意点:

3.删除视图

删除视图

sql 复制代码
drop view view_up;
相关推荐
·薯条大王3 小时前
MySQL联合查询
数据库·mysql
morris1315 小时前
【redis】redis实现分布式锁
数据库·redis·缓存·分布式锁
hycccccch5 小时前
Canal+RabbitMQ实现MySQL数据增量同步
java·数据库·后端·rabbitmq
这个懒人6 小时前
深入解析Translog机制:Elasticsearch的数据守护者
数据库·elasticsearch·nosql·translog
Yan-英杰6 小时前
【百日精通JAVA | SQL篇 | 第二篇】数据库操作
服务器·数据库·sql
NineData6 小时前
NineData云原生智能数据管理平台新功能发布|2025年3月版
数据库
百代繁华一朝都-绮罗生8 小时前
检查是否存在占用内存过大的SQL
数据库·sql
吾日三省吾码8 小时前
Python 脚本:自动化你的日常任务
数据库·python·自动化
CZIDC8 小时前
win11 系统环境下 新安装 WSL ubuntu + ssh + gnome 桌面环境
数据库·ubuntu·ssh
直裾8 小时前
Mapreduce的使用
大数据·数据库·mapreduce