实验 目的 或 要求 | 1、掌握SQL数据更新(插入、修改、删除)语句 2、掌握创建、删除和查询视图的方法,验证可更新视图和不可更新视图。 3、运用SQL数据更新语句解决电子商务系统数据库中的数据更新问题 4、运用SQL视图创建语句创建视图,并基于视图进行查询,体会视图查询的优点 |
实验 环境 | SQL Server 2014 |
实验内容或 实验题目 | (1)向商品类别表category中插入一条记录(801,‘座椅套’,‘各种品牌的汽车座套’) (2)向商品表product中插入一条记录:商品编号80101,商品名称“四季通用汽车座套”,库存数量100,单价308,成本价288,商品类别编号801,上架时间“2018-01-01”) (3)查询订单日期为“2021-11-11”的每种商品的销售总数量,并将查询结果录入到新表sale中 (4)将供应商名称为“顺京通讯有限公司”的联系电话修改为“010-4358779” (5)将商品类别名称为“激光打印机”的所有商品的单价降低10% (6)商品80101已经下架,从商品表中删除其详细记录信息 (7)将会员周晔的所有订单中付款日期paydate为空的订单信息全部删除 (8) 建立会员订购商品视图view_buy,要求视图属性包括商品编号prono、商品名称proname、单价price、订单编号orderno、购买数量qty、优惠discount、实付总金额totalmoney,并且基于该视图修改属性totalmoney的值为:单价*购买数量-优惠 (9)基于商品表和供应商表创建一个名为view_renbaocomputer的视图,要求能够通过该视图查看供应商名称为“仁宝电脑有限公司”的所有商品信息:包括商品编号prono、商品名称proname、库存stock、单价price、成本价cost、供应商名称supname、联系电话telephone信息 (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的商品 |
代码如下
(1)
insert into category
values(801,'座椅套','各种品牌的汽车座套')
select * from category
(2)
insert into product(prono,proname,stock,price,cost,catno,ontime)
values(80101,'四季通用汽车座套',100,308,288,801,'2018-01-01')
select * from product
(3)
create table sale(orderno int,qty int)
insert sale(orderno,qty)
select orderno,qty
from orders where paydate ='2021-11-11'
select * from sale
(4)
update supplier
set telephone=010-4358779
where supname='顺京通讯有限公司'
select * from supplier
(5)
update product
set price=price*0.9
where proname='proname'
select * from product
(6)
delete
from category
where catno =801
select * from category
/*(7)将会员周晔的所有订单中付款日期paydate为空的订单信息全部删除*/
delete
from orders
where paydate=null and memno in
( select orders.memno
from orders,member
where orders.memno=member.memno and member.memname='周晔'
)
select * from orders
*/
/*(8) 建立会员订购商品视图view_buy*/
create view view_buy(prono,proname,price,orderno,qty,discount,tatalmoney)
as
select product.prono,product.proname,product.price,orders.orderno,orders.qty,orders.discount,orders.tatalmoney
from product,orders
where product.prono=orders.prono
update view_buy
set tatalmoney = price*qty-discount
select * from view_buy
/*(9)基于商品表和供应商表创建一个名为view_renbaocomputer的视图*/
create view view_renbaocomputer(prono,proname,stock,price,cost,supname,telephone)
as
select product.prono,product.proname,product.stock,product.price,product.cost,supplier.supname,supplier.telephone
from product,supplier
where product.supno=supplier.supno
select prono,proname,stock,price,cost,supname,telephone
from view_renbaocomputer
where supname='仁宝电脑有限公司'
/*(10)基于商品表product创建一个视图view_product*/
create view view_product(prono,proname,stock,price,cost,catno)
as
select product.prono,product.proname,product.stock,product.price,product.cost,product.catno
from product
insert into view_product
values(60102,'海信37英寸激光电视机',15,1600,1300,601)
select * from view_product
update view_product
set price=2499
where prono=60201
delete
from view_product
where prono=60201