实 验 原 理 ( 操 作 步 骤 ) | 步骤如下: (1)向商品类别表category中插入一条记录(801,‘座椅套’,‘各种品牌的汽车座套’) INSERT INTO category (catno, catname, describe) VALUES(801, '座椅套', '各种品牌的汽车座套'); ![](https://img-blog.csdnimg.cn/img_convert/35973660e75aee7c305dbb26ff2f6b54.png) (2)向商品表product中插入一条记录:商品编号80101,商品名称“四季通用汽车座套”,库存数量100,单价308,成本价288,商品类别编号801,上架时间“2018-01-01”) 将商品表product中的商品按类别进行分类,并统计每类商品的总库存数量,并把结果存入数据库表product_catg中。 1.插入记录到product表中 INSERT INTO product (prono, proname, stock, price, cost, catno, ontime) VALUES(80101, '四季通用汽车座套', 100, 308, 288, 801, '2018-01-01'); ![](https://img-blog.csdnimg.cn/img_convert/254a164e60af21fa9c96ee4a5064bcde.png) 2.创建product_catg数据表,其中包含字段total_stock CREATE TABLE product_catg ( catnoINT, total_stockINT ); 3.向数据表中插入数据 INSERT INTO product_catg (catno, total_stock) SELECT catno, SUM(stock) AS total_stock FROM product GROUP BY catno;
![](https://img-blog.csdnimg.cn/img_convert/6ac912f5c16600ca977f43e0faa5e8df.png) (3)查询订单日期为“2021-11-11”的每种商品的销售总数量,并将查询结果录入到表sale中 1.和问题二类似,本题换一个语句来解决 SELECT prono,SUM(qty) AS total_qty INTO sal FROM orders where orderdate= '2021-11-11' GROUP BY prono; ![](https://img-blog.csdnimg.cn/img_convert/e2bbeb12ab90e5eb6806ad086fe9c531.png) (4)将供应商名称为“顺京通讯有限公司”的联系电话修改为“010-4358779” UPDATE supplier SET telephone= '010-4358779' WHERE supname= '顺京通讯有限公司'; ![](https://img-blog.csdnimg.cn/img_convert/83876e57e7e4d45b2fff8ab850cd3e9e.png) (5)将商品类别名称为“激光打印机”的所有商品的单价降低10% 此题注意降低百分之十即为打0.9折 条件是类别名称为激光打印机,故需要使用嵌套查询 UPDATE product SET price= price* 0.9 WHERE catnoIN ( SELECT catno FROM category WHERE catname= '激光打印机' ); ![](https://img-blog.csdnimg.cn/img_convert/78e46867dedf0e62accf4bd61c38766b.png) (6)商品80101已经下架,从商品表中删除其详细记录信息 DELETE FROM product WHERE prono= 80101; ![](https://img-blog.csdnimg.cn/img_convert/0caf53d0c74ec40e3452c322d7327c25.png) (7)将会员周晔的所有订单中付款日期paydate为空的订单信息全部删除 此题和5题一样为嵌套查询 DELETE FROM orders WHERE paydate= NULL and memnoIN (SELECT memnoFROM memberwhere memname='周晔') ![](https://img-blog.csdnimg.cn/img_convert/744532b06eabfefd50d871da8e788bb7.png) (8) 建立会员订购商品视图view_buy,要求视图属性包括商品编号prono、商品名称proname、单价price、订单编号orderno、购买数量qty、优惠discount、实付总金额totalmoney,并且基于该视图修改属性totalmoney的值为:单价*购买数量-优惠 CREATE VIEW view_buyAS SELECT p.prono, p.proname, p.price, o.orderno, o.qty, o.discount, (p.price* o.qty- o.discount) AS totalmoney FROM product p, orders o Where p.prono= o.prono; ![](https://img-blog.csdnimg.cn/img_convert/9d3225e2b49b1d65903a190bb7dfe920.png) (9)基于商品表和供应商表创建一个名为view_renbaocomputer的视图,要求能够通过该视图查看供应商名称为“仁宝电脑有限公司”的所有商品信息:包括商品编号pronno、商品名称proname、库存stock、单价price、成本价、供应商名称supname、联系电话telephone信息 CREATE VIEW view_renbaocomputerAS SELECT p.prono,p.proname,p.stock,p.price,p.cost,s.supname,s.telephone FROM product p,supplier s WHERE p.supno= s.supnoand s.supname= '仁宝电脑有限公司' ![](https://img-blog.csdnimg.cn/img_convert/cbebffdc8cbb7f6c18efa27082e5e3f3.png) (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. 创建视图 CREATE VIEW view_productAS SELECT prono, proname, stock, price, cost, catno FROM product; ![](https://img-blog.csdnimg.cn/img_convert/a0fe39f0f7c0cb0f185d50e11aec31d3.png) 2. 向视图插入数据 INSERT INTO view_product(prono, proname, stock, price, cost, catno) VALUES(60102, '海信37英寸激光电视机', 15, 1600, 1300, 601); ![](https://img-blog.csdnimg.cn/img_convert/a1576f4167b00ee77d191e4aaea34508.png) 3. 通过视图修改数据 UPDATE view_product SET price= 2499 WHERE prono= 60201; ![](https://img-blog.csdnimg.cn/img_convert/fc281b646f15a2cfd67aed5a15617008.png) 4. 通过视图删除数据 DELETE FROM view_product WHERE prono= 60201; ![](https://img-blog.csdnimg.cn/img_convert/ebfa7902f8183b29ac4da4517de1f874.png)
|