数据库学习记录-数据创建、更新与删除
创建数据库SPJ,创建四个关系模式S,P,J,SPJ;
创建表 | 插入元素 |
--创建S(供应商)表 create table S( ????SNO VARCHAR(8), ????SNAME VARCHAR(8), ????STATUS INTEGER, ????CITY VARCHAR(8)); | --插入元素 insert into S values ????(‘S1‘,‘精益‘,‘20‘,‘天津‘) ????(‘S2‘,‘盛锡‘,‘10‘,‘北京‘), ????(‘S3‘,‘东方红‘,‘30‘,‘北京‘), ????(‘S4‘,‘丰泰盛‘,‘20‘,‘天津‘), ????(‘S5‘,‘为民‘,‘30‘,‘上海‘); |
--创建P(零件)表 create table P( ????PNO VARCHAR(8), ????PNAME VARCHAR(8), ????COLOR VARCHAR(8), ????WEIGHT INTEGER); | --插入元素 INSERT INTO P values ????(‘P1‘,‘螺母‘,‘红‘,12), ????(‘P2‘,‘螺栓‘,‘绿‘,17); ????(‘P3‘,‘螺丝刀‘,‘蓝‘,14), ????(‘P4‘,‘螺丝刀‘,‘红‘,14), ????(‘P5‘,‘凸轮‘,‘蓝‘,40), ????(‘P6‘,‘齿轮‘,‘红‘,14); |
--创建J(工程项目)表 create table J( ????JNO VARCHAR(8), ???? JNAME VARCHAR(8), ????CITY VARCHAR(8)); | --插入元素 INSERT INTO J values ????(‘J1‘,‘三建‘,‘北京‘), ????(‘J2‘,‘一汽‘,‘长春‘), ????(‘J3‘,‘弹簧厂‘,‘天津‘), ????(‘J4‘,‘造船厂‘,‘天津‘), ????(‘J5‘,‘机车厂‘,‘唐山‘), ????(‘J6‘,‘无线电厂‘,‘常州‘), ????(‘J7‘,‘半导体厂‘,‘南京‘); |
--创建SPJ(供应情况)表 create table SPJ( ????SNO VARCHAR(8), ????PNO VARCHAR(8), ????JNO VARCHAR(8), ????QTY INTEGER); | --插入元素 INSERT INTO SPJ values ????(‘S1‘,‘P1‘,‘J1‘,200),(‘S1‘,‘P1‘,‘J3‘,100), ????(‘S1‘,‘P1‘,‘J4‘,700),(‘S1‘,‘P2‘,‘J2‘,100), ????(‘S2‘,‘P3‘,‘J1‘,400),(‘S2‘,‘P3‘,‘J2‘,200), ????(‘S2‘,‘P3‘,‘J4‘,500),(‘S2‘,‘P3‘,‘J5‘,400), ????(‘S2‘,‘P5‘,‘J1‘,400),(‘S2‘,‘P5‘,‘J2‘,100), ????(‘S3‘,‘P1‘,‘J1‘,200),(‘S3‘,‘P3‘,‘J1‘,200), ????(‘S4‘,‘P5‘,‘J1‘,100),(‘S4‘,‘P6‘,‘J3‘,300), ????(‘S4‘,‘P6‘,‘J4‘,200),(‘S5‘,‘P2‘,‘J4‘,100), ????(‘S5‘,‘P3‘,‘J1‘,200),(‘S5‘,‘P6‘,‘J2‘,200), ????(‘S5‘,‘P6‘,‘J4‘,500); |
?
显示表内容:
查询
- 找出所有零件的名称、颜色、重量;
select PNAME,COLOR,WEIGHT FROM P;
- 找出工程项目J2使用的各种零件的名称及其数量;
select P.PNAME,SPJ.QTY
FROM SPJ INNER JOIN P
ON SPJ.PNO=P.PNO
????????AND JNO=‘J2‘;
- 找出使用上海产的零件的工程名称;
select distinct J.JNAME FROM J,S,SPJ
WHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO AND S.CITY=‘上海‘;
- 把全部红色零件的颜色改为蓝色;
UPDATE P SET COLOR=‘蓝‘
WHERE COLOR=‘红‘;
- 从供应关系中删除S2的记录,并从供应情况(SPJ)中删除相应记录;
DELETE SPJ,S FROM SPJ,S
WHERE SPJ.SNO=S.SNO AND S.SNO=‘S2‘;