Mysql数据库练习题之商品库

设有如下所示的三个关系模式:
商店Shop(Sno,Sname,City)//Sno (商店编号)、Sname (商店名)、City (所在城市)
Sno和Sname为联合主键
商品Product(Pno,Pname,Price)//Pno (商品编号)、Pname (商品名称)、Price (价格)
Pno和Pname为联合主键
商店所售商品SP(Sno,Pno,Qty),//Qty (商品数量)
Sno和Pno为联合主键

Shop 表
Sno Sname City
101 百货商店 长沙
204 长安商场 北京
256 西单商场 北京
345 铁道商店 长沙
620 太平洋百货 上海

Product表
Pno Pname Price
1 钢笔 21
2 羽毛球 5
3 复读机 300
4 书包 76
sp表
Sno Pno Qty
101 1 105
101 2 42
101 3 25
101 4 104
204 3 61
256 1 241
256 2 91
345 1 141
345 2 18
345 4 74
620 4 125

(1)用Create语句创建商店表Shop,要求创建主键,商店名不允许为空,各属性的数据类型根据表中所给数据选定。
(2)按照图示添加相对应的数据
(3)添加一组太平洋百货的书包、复读机的商店所售商品记录
(3)将商品“复读机”的价格修改为350。
(4)将“百货商店”的商店名修改为“百货商场”。
(5)将商店所售商品记录中铁道商品的钢笔和羽毛球的商品数量增加100个。
(5)删除商品中的钢笔记录。

代码如下:
– 创建商店信息系统
CREATE DATABASE IF NOT EXISTS shops;
– 进入商店信息系统操作
USE shops;
– 创建商店表
CREATE TABLE IF NOT EXISTS shop(
Sno INT NOT NULL COMMENT’商店编号’,
Sname VARCHAR(20) NOT NULL COMMENT’商店名称’,
City VARCHAR(20) NOT NULL COMMENT’商店所在城市’,
PRIMARY KEY(Sno,Sname)
);

– 创建商品表
CREATE TABLE IF NOT EXISTS product(
Pno INT NOT NULL COMMENT’商品编号’,
Pname VARCHAR(20) NOT NULL COMMENT’商品姓名’,
Price DOUBLE NOT NULL COMMENT’商品价格’,
PRIMARY KEY(Pno,Pname)
);

– 创建所售商品信息表
CREATE TABLE IF NOT EXISTS sp(
Sno INT NOT NULL COMMENT’商店编号’,
Pno INT NOT NULL COMMENT’商品编号’,
Qty INT NOT NULL COMMENT’商品数量’,
PRIMARY KEY(Sno,Pno),

– 设置外键
CONSTRAINT fk_sp_shop FOREIGN KEY(Sno) REFERENCES shop(Sno),
CONSTRAINT fk_sp_product FOREIGN KEY(Pno) REFERENCES product(Pno)
);

– 向三个表中添加数据,先向商店表中添加数据
INSERT INTO shop(Sno,Sname,City)
VALUES
(101,‘百货商场’,‘长沙’),
(204,‘长安商场’,‘北京’),
(256,‘西单商场’,‘北京’),
(345,‘铁道商店’,‘长沙’),
(620,‘太平洋百货’,‘上海’);

– 向商品表中添加数据
INSERT INTO product (Pno,Pname,Price)
VALUES
(1,‘钢笔’,21),
(2,‘羽毛球’,5),
(3,‘复读机’,300),
(4,‘书包’,76);

– 向所售商品信息表添加数据
INSERT INTO sp(Sno,PnO,Qty)
VALUES
(101,1,105),
(101,2,42),
(101,3,25),
(101,4,104),
(204,3,61),
(256,1,241),
(256,2,91),
(345,1,141),
(345,2,18),
(345,4,74),
(620,4,125);

– 添加一组太平洋百货的复读机的所售商品记录
INSERT INTO sp(Sno,Pno,Qty)
VALUES
(620,3,50);

– 将商品复读机的价格修改为350
UPDATE product SET Price = 350
WHERE(Pname = ‘复读机’);

– 将百货商场修改为百货商店
UPDATE shop SET Sname = ‘百货商店’
WHERE(Sname = ‘百货商场’);

– 将商店所售商品记录中的钢笔和羽毛球的商品数量增加100个
UPDATE sp SET Qty=Qty+100
WHERE(Pno =1 OR Pno = 2);

– 删除商品中的钢笔记录,这时应该首先删除从表中的钢笔数据,再删除主表中的数据
DELETE FROM sp WHERE(Pno =1);
– 删除商品表中的钢笔
DELETE FROM product WHERE(Pname = ‘钢笔’);

  • 5
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值