【数据库基础】数据库的视图操作
一.实验目的
1. 定义“MIS”专业学生基本情况视图V_MIS,并根据视图查询结果。
2.将student、salebill、goods表中学生学号、姓名、商品名、商品售价,销售数量定义为视图V_SSG,并根据视图查询结果 。
3. 定义一个带有年龄的学生视图V_AGE,并根据视图查询结果。
4. 定义一个按学院统计人数、平均年龄的视图V_COM,并查询结果。
5. 将各位同学购买商品种类数、消费总额定义为视图V_S_CONSUME,并查询结果。
6. 将各类别的商品总数、商品平均售价、最小库存量定义为视图V_GOODS,要求显示商品所属类别名,并查询结果。
7. 将各供应商提供的商品总数、商品库存总量、平均进价定义视图V_SU_GOOD,要求平均进价在10元以上。并查询结果。
8. 通过视图V_COM,查询平均年龄在19岁以上的学院。
9. 通过视图V_S_CONSUME,查询消费总额在200以上的学生信息。
10. 通过视图V_SU_GOOD,查询商品库存总量小于50的供应商名、供应商电话和地址。
11. 通过视图V_MIS,新增加一个学生记录:学号s09,姓名宋江,出生年2000,CS学院,MIS专业,微信wx009,并查询结果。
12. 通过视图V_MIS,新增加一个学生记录:学号s10,姓名周瑜,出生年1999,CS学院,IT专业,微信wx010,并查询结果。
13. 通过视图V_MIS,将s01学号的姓名改成“李欢欢”,并查询结果。
14. 通过视图V_MIS,将s02学号的姓名改成“徐慧慧”,并查询结果。
15. 通过视图V_SSG,修改“力神咖啡”的商品售价为10元,并查询结果。
16. 通过视图V_MIS,删除学号为s09的学生信息,并查询结果。
17. 通过视图V_MIS,删除学号为s10的学生信息,并查询结果。
二.实验代码
重新创库T2,依题意有:
1. 定义“MIS”专业学生基本情况视图V_MIS,并根据视图查询结果。
CREATE VIEW v_mis
as
select sno,sname,birthyear,gender,college,major,weixin
from student
where major='mis'
2.将student、salebill、goods表中学生学号、姓名、商品名、商品售价,销售数量定义为视图V_SSG,并根据视图查询结果 。
create view v_ssg
as
select student.sno,sname,goodsname,saleprice,salebill.number
from salebill join student on student.sno=salebill.sno
join goods on goods.goodsno=salebill.goodsno
3. 定义一个带有年龄的学生视图V_AGE,并根据视图查询结果。
create view v_age
as
select sno,sname,birthyear,gender,college,major,weixin,YEAR(getdate())-birthyear as 年龄
from studentselect YEAR(getdate())-birthyear as 年龄
from studentselect * from v_age
4. 定义一个按学院统计人数、平均年龄的视图V_COM,并查询结果。
create view v_com
as
select college,COUNT(*) as 学院人数,AVG(year(getdate())-birthyear) as Aage
from student
group by collegeselect * from v_com
drop view v_com
5. 将各位同学购买商品种类数、消费总额定义为视图V_S_CONSUME,并查询结果。
create view v_s_consume
as
select goods.categoryno,sname,SUM(salebill.number * saleprice) as SaleSum
from salebill join student on student.sno=salebill.sno
join goods on goods.goodsno=salebill.goodsno
group by sname,goods.categorynoselect * from v_s_consume
drop view v_s_consume
6. 将各类别的商品总数、商品平均售价、最小库存量定义为视图V_GOODS,要求显示商品所属类别名,并查询结果。
create view v_goods
as
Select categoryname,sum(number) 商品总数,
avg(saleprice) 平均售价,min(number) 最小库存 from goods
join category on goods.categoryno=category.categoryno
group by categorynameselect * from v_goods
7. 将各供应商提供的商品总数、商品库存总量、平均进价定义视图V_SU_GOOD,要求平均进价在10元以上。并查询结果。
create view v_su_good
as
select g.supplierno,s.number as 电话,sum(g.number)商品总数,AVG(saleprice) as 平均售价,address,g.number from goods g
join supplier s on g.supplierno=s.supplierno
group by g.supplierno,g.number,address,s.number
having AVG(saleprice)>10select * from v_su_good
drop view v_su_good
select * from supplier
select * from goods
8. 通过视图V_COM,查询平均年龄在19岁以上的学院。
select * from v_com
where Aage>19
9. 通过视图V_S_CONSUME,查询消费总额在200以上的学生信息。
select * from v_s_consume
where SaleSum>200
10. 通过视图V_SU_GOOD,查询商品库存总量小于50的供应商名、供应商电话和地址。
select *from v_su_good
where number<50select * from v_su_good
11. 通过视图V_MIS,新增加一个学生记录:学号s09,姓名宋江,出生年2000,CS学院,MIS专业,微信wx009,并查询结果。
insert into v_mis
values('s09','宋江','2000','男','CS','MIS','wx009')
12. 通过视图V_MIS,新增加一个学生记录:学号s10,姓名周瑜,出生年1999,CS学院,IT专业,微信wx010,并查询结果。
insert into v_mis
values('s10','周瑜','1999','男','CS','IT','wx010')update v_mis set major='IT'
where sno='s10'
13. 通过视图V_MIS,将s01学号的姓名改成“李欢欢”,并查询结果。
update v_mis set sname='李欢欢'
where sno='s01'select * from v_mis
select * from student
14. 通过视图V_MIS,将s02学号的姓名改成“徐慧慧”,并查询结果。
update v_mis set sname='徐慧慧'
where sno='s02'
select * from v_mis
select * from student
15. 通过视图V_SSG,修改“力神咖啡”的商品售价为10元,并查询结果。
update v_ssg set saleprice='10'
where goodsname='力神咖啡'select * from v_ssg
16. 通过视图V_MIS,删除学号为s09的学生信息,并查询结果。
delete v_mis
where sno='s09'
select * from v_mis
17. 通过视图V_MIS,删除学号为s10的学生信息,并查询结果。
delete v_mis
where sno='s10'
select * from v_mis
三.代码汇总
--1.定义“MIS”专业学生基本情况视图V_MIS,并根据视图查询结果。//
CREATE VIEW v_mis
as
select sno,sname,birthyear,gender,college,major,weixin
from student
where major='mis'select * from v_mis
DROP VIEW v_mis--2将student、salebill、goods表//
create view v_ssg
as
select student.sno,sname,goodsname,saleprice,salebill.number
from salebill join student on student.sno=salebill.sno
join goods on goods.goodsno=salebill.goodsnoDROP VIEW v_ssgselect * from v_ssg--3//
create view v_age
as
select sno,sname,birthyear,gender,college,major,weixin,YEAR(getdate())-birthyear as 年龄
from studentselect YEAR(getdate())-birthyear as 年龄
from studentselect * from v_age--4//
create view v_com
as
select college,COUNT(*) as 学院人数,AVG(year(getdate())-birthyear) as Aage
from student
group by collegeselect * from v_com
drop view v_com--5//
create view v_s_consume
as
select goods.categoryno,sname,SUM(salebill.number * saleprice) as SaleSum
from salebill join student on student.sno=salebill.sno
join goods on goods.goodsno=salebill.goodsno
group by sname,goods.categorynoselect * from v_s_consume
drop view v_s_consume--6//
create view v_goods
as
Select categoryname,sum(number) 商品总数,
avg(saleprice) 平均售价,min(number) 最小库存 from goods
join category on goods.categoryno=category.categoryno
group by categorynameselect * from v_goods
--7//
create view v_su_good
as
select g.supplierno,s.number as 电话,sum(g.number)商品总数,AVG(saleprice) as 平均售价,address,g.number from goods g
join supplier s on g.supplierno=s.supplierno
group by g.supplierno,g.number,address,s.number
having AVG(saleprice)>10select * from v_su_good
drop view v_su_good
select * from supplier
select * from goods
--8//
select * from v_com
where Aage>19--9//
select * from v_s_consume
where SaleSum>200--10//
select *from v_su_good
where number<50select * from v_su_good--11//
insert into v_mis
values('s09','宋江','2000','男','CS','MIS','wx009')select * from v_mis--12//
insert into v_mis
values('s10','周瑜','1999','男','CS','IT','wx010')update v_mis set major='IT'
where sno='s10'select * from v_mis
select * from studentdelete student
where sno='s10'
--13
update v_mis set sname='李欢欢'
where sno='s01'select * from v_mis
select * from student--14//
update v_mis set sname='徐慧慧'
where sno='s02'
select * from v_mis
select * from student--15//
update v_ssg set saleprice='10'
where goodsname='力神咖啡'select * from v_ssg--16//
delete v_mis
where sno='s09'
select * from v_mis--17//
delete v_mis
where sno='s10'
select * from v_mis
【数据库基础】数据库的视图操作相关推荐
- MySQL数据库基础——数据库基础
一.数据库概述 1.数据库管理技术的发展 (1)人工管理阶段 ①数据不用保存: ②使用应用程序管理数据: ③数据不共享: ④数据不具有独立性: (2)文件系统阶段 ①数据可以长期保存: ②由文件系统管 ...
- MySQL数据库基础:各类窗口函数操作一文详解
目录 前言 一.窗口函数简介 窗口函数分类 语法结构 二.窗口函数运用展示 1.创建演示库 2.序号函数 1.ROW_NUMBER()函数 2.RANK()函数 3.DENSE_RANK()函数 3. ...
- 找工作所需数据库基础知识与实际操作(以MySQL为例)
第一章.数据库原理概述 1.1.2 数据库.数据字典.数据库管理系统.数据库系统 1. 数据库(DB)--- (1)概念:按一定结构组织并长期存储在计算机内的.在逻辑上保持一致的.可共享的大量相关数据 ...
- 数据库基础 数据库设计三大范式
转载自: http://www.cnblogs.com/knowledgesea/p/3667395.html 数据库设计范式 什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的 ...
- 数据库基础.数据库查询及约束【练习】
文章目录 一.前言 二.题目:根据信息创建对应的表单 已知:商品信息表 表名为:Goods,包含ID(自增主键).NAME(名称.惟一性约束).Price(价格).trademark(品牌)和Type ...
- 数据库基础--数据库基础管理(创建库/表 以及插入修改删除表数据)
1.啥子是数据库–存储数据的仓库 2.什么是数据–音乐,电影,文本,图片等 常见的数据库软件 Oracle 不开源 跨平台 厂商:甲骨文 MySQL 开源 跨平台 厂商:甲骨文 SQL Server ...
- 数据库基础-数据库引擎
- 【SQL数据库基础01】数据库和SQL概述
文章目录 01 引入 1.1 数据库存储数据的特点 1.2 三个重要概念 1.2.1 DBMS 1.3 SQL的优点: 图例说明: 1.4 SQL语言四大类 1.4.1 数据查询语言DQL 1.4.1 ...
- 数据库基础内容(超级详细)
数据库基础 文章目录 数据库基础 数据库基本概念 概述: MySql运行机制: 数据库结构简介 数据库软件 Mysql安装准备: Mysql服务安装 MySQL卸载: Mysql登录: SQL语言的概 ...
- MySQL数据库基础01 韩顺平 自学笔记
MySQL数据库基础 数据库简单原理图 连接Mysql 启动和关闭mysql服务 连接Mysql指令 数据库三层结构 数据在数据库中的存储方式 SQL语句的分类 简单通过Java操作Mysql数据库 ...
最新文章
- 最短路算法整理 1557 热浪
- Leetcode 39 组合总和 (每日一题 20210806)
- jquery live hover绑定方法
- kotlin 覆盖属性_Kotlin程序| 方法覆盖的示例
- Docker快速搭建邮件服务器Modoboa
- 三个变量存在一个协整方程_存在多个协整关系,如何取舍?
- 在golang中defer、panic与recover的作用
- ionic 上拉加载更多
- python找字符串中特殊字符_python – 在字符串中查找特殊符号
- 2016/11/14
- sqlserver DBLINK
- 解决Shape数据形状数与表记录数不一致的问题
- 优化器TORCH.OPTIM
- UPC 黑熊过河(基本状态转移)
- 新猿木子李:0基础学python培训教程 html简介
- python编程自然数表达式_实现四则运算 (python实现)by 周乃君 张宏根
- 对random.seed()的理解
- 图像传感器的市场状况和主要厂商
- Java-SpringBoot-使用Sigar采集设备信息
- Tomcat-war包部署
热门文章
- 计算机内存容量影响游戏的吗,内存容量对整机游戏性能影响到底有多大
- 游戏服务器为什么要选择高防服务器
- TCGA肿瘤数据分析专题
- Python中文社区新专栏作者计划
- DNS加速之“智能DNS”跟“双线加速”、“CDN加速”的区别
- MySQL Workbench 8.0新建SCHEMAS和Table
- python中and和or的惰性求值特点_Python 惰性求值
- Acrobat 删除pdf页面
- 软件安全漏洞测试报告_现实生活中的软件安全漏洞以及如何确保安全
- java9推迟_甲骨文宣布Java 9将会推迟到明年7月发布