《数据库原理》实验七 SQL的数据更新和视图

本系列传送门:

  1. 实验二 SQL Server SSMS工具创建和管理数据库及数据表
  2. 实验三 SQL Server SSMS工具添加数据
  3. 实验四 SQL的数据定义语句
  4. 实验五 数据库完整性约束的实现与验证
  5. 实验六 SQL数据查询实验
  6. 实验六(2) SQL数据查询—连接查询
  7. 实验七 SQL的数据更新和视图
  8. 实验八 T_SQL编程
  9. 实验九 存储过程和触发器
  10. 实验十 索引和数据库的安全性

本文目录

1. 本实验的数据来源

请参考 实验三 SQL Server SSMS工具添加数据 中的数据导入脚本

2. 实验内容

(1)向商品类别表category中插入一条记录(801,‘座椅套’,‘各种品牌的汽车座套’)

insert into category (catno, catname, describe)
values (801, '座椅套', '各种品牌的汽车座套')

(2)向商品表product中插入一条记录:商品编号80101,商品名称“四季通用汽车座套”,库存数量100,单价308,成本价288,商品类别编号801,上架时间“2018-01-01”)

insert into product (prono, proname, stock, price, cost, catno, ontime)
values (80101, '四季通用汽车座套', 100, 308, 288, 801, '2018-01-01')

(3)查询订单日期为“2021-11-11”的每种商品的销售总数量,并将查询结果录入到表sale中

create table sale(
	saleno int primary key identity(1,1),
	prono int not null,
	amount int not null,
);

insert into sale (prono, amount)
select prono, sum(qty) as amount
from orders
where orderdate = '2021-11-11' 
group by prono

(4)将供应商名称为“顺京通讯有限公司”的联系电话修改为“010-4358779”

update supplier
set telephone = '010-4358779'
where supname = '顺京通讯有限公司'

(5)将商品类别名称为“激光打印机”的所有商品的单价降低10%

update product
set price = price * 0.9
where catno in (
	select catno from category
	where catname = '激光打印机'
)

(6)商品80101已经下架,从商品表中删除其详细记录信息

delete from product
where prono = 80101

(7)将会员周晔的所有订单中付款日期paydate为空的订单信息全部删除

delete from orders
where paydate = null and
memno in (
	select memno from member
	where memname = '周晔'
)

(8) 建立会员订购商品视图view_buy,要求视图属性包括商品编号prono、商品名称proname、单价price、订单编号orderno、购买数量qty、优惠discount、实付总金额totalmoney,并且基于该视图修改属性totalmoney的值为:单价*购买数量-优惠

create view view_buy as
select orders.prono, proname, price, orderno, qty, discount, price *qty - discount as totalmoney
from orders
left join product
on product.prono = orders.prono;

(9)基于商品表和供应商表创建一个名为view_renbaocomputer的视图,要求能够通过该视图查看供应商名称为“仁宝电脑有限公司”的所有商品信息:包括商品编号pronno、商品名称proname、库存stock、单价price、成本价、供应商名称supname、联系电话telephone信息

create view view_renbaocomputer as
select prono, proname, stock, price, cost, supname, telephone
from product
left join supplier
on supplier.supno = product.supno
where supname = '仁宝电脑有限公司'

(10)基于商品表product创建一个视图view_product,要求视图总包括prono、proname、stock、price、cost、catno信息。然后通过该视图完成以下操作:

通过视图view_product添加一条记录:(60102,‘海信37英寸激光电视机’,15,1600,1300,601)
通过视图view_product修改商品编号为60201的价格为2499
通过视图view_product删除商品编号为60201的商品

go
create view view_product as
	select prono, proname, stock, price, cost, catno
	from product;
go

insert view_product
values(60102,'海信37英寸激光电视机',15,1600,1300,601);

update view_product
set price = 2499
where prono = 60201;

delete view_product
where prono = 60201;
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

okfang616

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值