数据库学习记录-数据创建、更新与删除

创建数据库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);

 

显示表内容:

 

 

查询

  1. 找出所有零件的名称、颜色、重量;

    select PNAME,COLOR,WEIGHT FROM P;

  2. 找出工程项目J2使用的各种零件的名称及其数量;

    select P.PNAME,SPJ.QTY

    FROM SPJ INNER JOIN P

    ON SPJ.PNO=P.PNO

            AND JNO='J2';

  3. 找出使用上海产的零件的工程名称;

    select distinct J.JNAME FROM J,S,SPJ

    WHERE J.JNO=SPJ.JNO AND SPJ.SNO=S.SNO AND S.CITY='上海';

  4. 把全部红色零件的颜色改为蓝色;

    UPDATE P SET COLOR='蓝'

    WHERE COLOR='红';

  5. 从供应关系中删除S2的记录,并从供应情况(SPJ)中删除相应记录;

    DELETE SPJ,S FROM SPJ,S

    WHERE SPJ.SNO=S.SNO AND S.SNO='S2';

posted @ 2020-04-11 11:23  Vinci-Q  阅读(400)  评论(0)    收藏  举报