From 97885c0a3930907f1e634aec737e1673672aa3d4 Mon Sep 17 00:00:00 2001 From: pbkimfefo <2554254376@qq.com> Date: Fri, 31 Mar 2023 22:51:31 +0800 Subject: [PATCH] Update README.md --- README.md | 56 +++++++++++++++++++++++++++---------------------------- 1 file changed, 28 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 9e65edf..ef4eedf 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ SHOW DATABASES; USE dg_mysql; - +##分别创建s、p、j和spj数据表 CREATE TABLE s( sno CHAR(2), sname VARCHAR(10), @@ -32,13 +32,13 @@ CREATE TABLE spj( ); - +##查看s、p、j和spj数据表的详细结构 DESCRIBE s; DESCRIBE p; DESCRIBE j; DESCRIBE spj; - +##插入s表数据 INSERT INTO s VALUES ('S1','精益',20,'天津'), ('S2','盛锡',10,'北京'), @@ -46,7 +46,7 @@ INSERT INTO s VALUES ('S4','丰泰盛',20,'天津'), ('S5','为民',30,'上海'); - +##插入p表数据 INSERT INTO p VALUES ('P1','螺母','红',12), ('P2','螺栓','绿',17), @@ -55,7 +55,7 @@ INSERT INTO p VALUES ('P5','凸轮','蓝',40), ('P6','齿轮','红',30); - +##插入j表数据 INSERT INTO j VALUES ('J1','三建','北京'), ('J2','一汽','长春'), @@ -65,7 +65,7 @@ INSERT INTO j VALUES ('J6','无线电厂','常州'), ('J7','半导体厂','南京'); - +##-插入spj表数据 INSERT INTO spj VALUES ('S1','P1','J1',200), ('S1','P1','J3',100), @@ -87,77 +87,77 @@ INSERT INTO spj VALUES ('S5','P6','J2',200), ('S5','P6','J4',500); - +##分别查询s、p、j和spj表的所有数据 SELECT* FROM s; SELECT* FROM p; SELECT* FROM j; SELECT* FROM spj; - +##1. 查询所有供应商的姓名和所在城市(按供应商姓名升序排列)。 SELECT sname,city FROM s ORDER BY sname ASC; - +##2. 查询所有零件的名称、颜色、重量(按零件名称升序排列)。 SELECT pname,color,weight FROM p ORDER BY pname ASC; - +##1. 查询供应工程J1零件的供应商号码(去除重复,按供应商号码升序排列)。 SELECT DISTINCT sno FROM j NATURAL JOIN spj WHERE jno='J1' ORDER BY sno ASC; SELECT DISTINCT sno FROM spj WHERE jno='J1' ORDER BY sno ASC; - +##2. 查询供应工程J1零件P1的供应商号码(按供应商号码升序排列)。 SELECT sno FROM spj WHERE jno='J1'AND pno='P1' ORDER BY sno ASC; - +##3. 查询使用供应商S1所供应零件的工程号码(按工程号码升序排列)。 SELECT jno FROM spj WHERE sno='S1' ORDER BY jno ASC; - +##1. 查询工程项目J2使用的各种零件的名称及其数量(按零件名称升序排列)。 SELECT pname,qty FROM spj NATURAL JOIN p WHERE jno='J2' ORDER BY pname ASC; - +##2. 查询上海厂商供应的所有零件号码(去除重复,按零件号码升序排列)。 SELECT DISTINCT pno FROM s NATURAL JOIN spj WHERE city='上海' ORDER BY pno ASC; - +##3. 查询使用上海产的零件的工程名称(按工程名称升序排列,去除重复数据)。 SELECT DISTINCT jname FROM j INNER JOIN spj ON j.`jno`=spj.`jno` INNER JOIN s ON spj.`sno`=s.`sno` WHERE s.city='上海' ORDER BY jname ASC; - +##1. 查询供应工程J1零件为红色的供应商号码(按供应商号码升序排列)。 SELECT sno FROM p NATURAL JOIN spj WHERE jno='J1'AND color='红' ORDER BY sno ASC; - +##2. 查询没有使用天津供应商生产的红色零件的工程号码(去除重复数据,按工程号码升序排列)。 SELECT DISTINCT jno FROM j WHERE jno NOT IN( SELECT jno FROM s NATURAL JOIN spj NATURAL JOIN p WHERE s.`city`='天津'AND color='红') ORDER BY jno ASC; - +##子查询 SELECT DISTINCT jno FROM j WHERE jno NOT IN( SELECT jno FROM spj WHERE sno IN (SELECT sno FROM s WHERE city='天津') AND pno IN(SELECT pno FROM p WHERE color='红')); - +##not exists SELECT DISTINCT jno FROM j WHERE NOT EXISTS( SELECT jno FROM spj NATURAL JOIN p NATURAL JOIN s WHERE city='天津'AND color='红'AND j.`jno`=jno) ORDER BY jno ASC; - +##1. 把全部红色零件的颜色改成蓝色。 UPDATE p SET color='蓝' WHERE color='红'; - +##2. 由S5供给J4的零件P6改为由S3供应。 UPDATE spj SET sno='S3' WHERE sno='S5'AND jno='J4'AND pno='P6'; - +##3. 从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。 DELETE FROM s WHERE sno='S2'; DELETE FROM spj WHERE sno='s2'; - +##4. 请将(S2,J6,P4,200)插入供应情况关系表。 INSERT INTO spj(sno,jno,pno,qty)VALUES('S2','J6','P4',200); - +##1. 请为“三建”工程项目建立一个供应情况的视图(v_spj),包括供应商代码(SNO)、零件代码(PNO)、供应数量(QTY)。 CREATE VIEW v_spj AS SELECT sno,pno,qty FROM spj WHERE jno IN( @@ -165,17 +165,17 @@ WHERE jno IN( WHERE jname='三建' ); - +##(1) 查询“三建”工程项目使用的各种零件代码及其总数量(total) SELECT pno,SUM(qty) AS total FROM v_spj GROUP BY pno; - +##(2) 查询供应商S1的供应情况。 SELECT* FROM v_spj WHERE sno='S1'; - +## 1.在spj表定义索引IDX_SPJ,包括(sno,pno,jno)。 CREATE INDEX IDX_SPJ ON spj(sno,pno,jno); - +## 2. 查看spj表索引定义。 SHOW INDEX FROM spj; SELECT* FROM s; SELECT* FROM p;