实验

目的

要求

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