一.实验目的

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

【数据库基础】数据库的视图操作相关推荐

  1. MySQL数据库基础——数据库基础

    一.数据库概述 1.数据库管理技术的发展 (1)人工管理阶段 ①数据不用保存: ②使用应用程序管理数据: ③数据不共享: ④数据不具有独立性: (2)文件系统阶段 ①数据可以长期保存: ②由文件系统管 ...

  2. MySQL数据库基础:各类窗口函数操作一文详解

    目录 前言 一.窗口函数简介 窗口函数分类 语法结构 二.窗口函数运用展示 1.创建演示库 2.序号函数 1.ROW_NUMBER()函数 2.RANK()函数 3.DENSE_RANK()函数 3. ...

  3. 找工作所需数据库基础知识与实际操作(以MySQL为例)

    第一章.数据库原理概述 1.1.2 数据库.数据字典.数据库管理系统.数据库系统 1. 数据库(DB)--- (1)概念:按一定结构组织并长期存储在计算机内的.在逻辑上保持一致的.可共享的大量相关数据 ...

  4. 数据库基础 数据库设计三大范式

    转载自: http://www.cnblogs.com/knowledgesea/p/3667395.html 数据库设计范式 什么是范式:简言之就是,数据库设计对数据的存储性能,还有开发人员对数据的 ...

  5. 数据库基础.数据库查询及约束【练习】

    文章目录 一.前言 二.题目:根据信息创建对应的表单 已知:商品信息表 表名为:Goods,包含ID(自增主键).NAME(名称.惟一性约束).Price(价格).trademark(品牌)和Type ...

  6. 数据库基础--数据库基础管理(创建库/表 以及插入修改删除表数据)

    1.啥子是数据库–存储数据的仓库 2.什么是数据–音乐,电影,文本,图片等 常见的数据库软件 Oracle 不开源 跨平台 厂商:甲骨文 MySQL 开源 跨平台 厂商:甲骨文 SQL Server ...

  7. 数据库基础-数据库引擎

  8. 【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 ...

  9. 数据库基础内容(超级详细)

    数据库基础 文章目录 数据库基础 数据库基本概念 概述: MySql运行机制: 数据库结构简介 数据库软件 Mysql安装准备: Mysql服务安装 MySQL卸载: Mysql登录: SQL语言的概 ...

  10. MySQL数据库基础01 韩顺平 自学笔记

    MySQL数据库基础 数据库简单原理图 连接Mysql 启动和关闭mysql服务 连接Mysql指令 数据库三层结构 数据在数据库中的存储方式 SQL语句的分类 简单通过Java操作Mysql数据库 ...

最新文章

  1. 最短路算法整理 1557 热浪
  2. Leetcode 39 组合总和 (每日一题 20210806)
  3. jquery live hover绑定方法
  4. kotlin 覆盖属性_Kotlin程序| 方法覆盖的示例
  5. Docker快速搭建邮件服务器Modoboa
  6. 三个变量存在一个协整方程_存在多个协整关系,如何取舍?
  7. 在golang中defer、panic与recover的作用
  8. ionic 上拉加载更多
  9. python找字符串中特殊字符_python – 在字符串中查找特殊符号
  10. 2016/11/14
  11. sqlserver DBLINK
  12. 解决Shape数据形状数与表记录数不一致的问题
  13. 优化器TORCH.OPTIM
  14. UPC 黑熊过河(基本状态转移)
  15. 新猿木子李:0基础学python培训教程 html简介
  16. python编程自然数表达式_实现四则运算 (python实现)by 周乃君 张宏根
  17. 对random.seed()的理解
  18. 图像传感器的市场状况和主要厂商
  19. Java-SpringBoot-使用Sigar采集设备信息
  20. Tomcat-war包部署

热门文章

  1. 计算机内存容量影响游戏的吗,内存容量对整机游戏性能影响到底有多大
  2. 游戏服务器为什么要选择高防服务器
  3. TCGA肿瘤数据分析专题
  4. Python中文社区新专栏作者计划
  5. DNS加速之“智能DNS”跟“双线加速”、“CDN加速”的区别
  6. MySQL Workbench 8.0新建SCHEMAS和Table
  7. python中and和or的惰性求值特点_Python 惰性求值
  8. Acrobat 删除pdf页面
  9. 软件安全漏洞测试报告_现实生活中的软件安全漏洞以及如何确保安全
  10. java9推迟_甲骨文宣布Java 9将会推迟到明年7月发布