1、创建水果价目表,包括苹果、橘子、香蕉 。 水果售卖记录表,三样水果都有售卖,并记录售卖数量和金额,要求:所卖水果必须是水果价目表中存在的。
建表
CREATE TABLE fruit(
fid INT PRIMARY KEY, #水果id
fname VARCHAR(10), #水果名称
priceperkg DECIMAL(5,2) #每公斤价格
);
CREATE TABLE sales(
sid INT PRIMARY KEY, #销售记录编号
fid INT NOT NULL, #水果id
kilogram DECIMAL(6,3), #销售公斤数量,精度保留到克
amount DECIMAL(8,2), #销售总额
CONSTRAINT fk_fid FOREIGN KEY (fid) REFERENCES fruit(fid) #水果id为外键
);
插入3种水果
INSERT INTO fruit VALUES
(1,’苹果’,8.88),(2,’橘子’,6.66),(3,’香蕉’,5.55);
插入销售记录
INSERT INTO sales VALUES
(1,1,1,8.88),(2,2,1,6.66),(3,3,1,5.55),(4,1,1.53,13.5864),(5,2,1.21,8.0586),(6,3,1.211,6.72105);
2、删除水果价目表中的 一类,但是要保留售卖记录,如何实现 ?
DELETE FROM fruit WHERE fid=1;
先删除外键约束,再删除水果种类
ALTER TABLE sales DROP FOREIGN KEY fk_fid;
DELETE FROM fruit WHERE fid=1;
