首页 > 数据库 >数据库课堂练习4

数据库课堂练习4

时间:2022-10-28 17:11:50浏览次数:46  
标签:insert 课堂练习 into GY WZ values 数据库 Gno

数据库中有 3 个关系,物资表 WZ(WZno, WZNAME, WZTYPE),其属性分别表示物资

号,物资名,物资类型。供应公司表 GYGS(Gno,GNAME,CITY,TEL,LXR),其属性分别表示

公司编号,公司名,公司所在城市,公司电话,公司联系人。供应表 GY(Gno,WZno, GYdate,

GYnum,GYprice),其属性分别表示公司编号,物资号,供应日期,供应数量,供应单价。

假设一种物资可由多个供应公司提供,1个供应公司可以提供多种物资。

1、为三张表插入相应数据。(要求 WZ 和 GYGS 分别至少 3 条记录,GY 表 8 条以上,

还需要考虑以下查询有结果)

2、查询供应了“A4 纸”的且供应数量大于 100 的供应公司编号及公司名,结果按公司

编号降序排列。

3、查询供应了所有物资的供应公司名。

4、查询至少供应了’2'号公司供应的全部物资的公司编号。

<tex>2^{\circ }</tex>

5、对三张表进行各种修改和删除数据操作(至少五种代码操作)。

 

1、建立三个表

CREATE TABLE WZ

(WZno CHAR(9) PRIMARY KEY,/*物资号*/

WZNAME CHAR(20) UNIQUE,

WZTYPE CHAR(20) NOT NULL

);

 

 

 

CREATE TABLE GYGS

(Gno CHAR(9) PRIMARY KEY,

GNAME CHAR(20) UNIQUE,

CITY CHAR(20) UNIQUE,

TEL CHAR(15) NOT NULL,

LXR CHAR(10) 

);

 

CREATE TABLE GY

        (Gno CHAR(9),

WZno CHAR(9),

GYdate DATE,*/

GYnum CHAR(5),

  GYprice CHAR(5) NOT NULL,

    PRIMARY KEY (Gno,WZno),/*主码*/

FOREIGN KEY (Gno) REFERENCES GYGS(Gno),/*表级完整性约束条件,Gno是外码,被参照表是GYGS*/

FOREIGN KEY (WZno) REFERENCES WZ(WZno)/*表级完整性约束条件,WZno是外码,被参照表是WZ*/

);

 

建立索引:

CREATE UNIQUE INDEX WZWZno ON WZ(WZno);

CREATE UNIQUE INDEX GSGno ON GYGS(Gno);

CREATE UNIQUE INDEX GYGno ON GY(Gno ASC,WZno ASC);

 

2、插入相应数据

insert into WZ values('01','A4纸','学习用具');

insert into WZ values('02','钢笔','学习用具');

insert into WZ values('03','文具盒','学习用具');

insert into WZ values('04','圆珠笔','学习用具');

 

 

insert into GYGS values('11','四川','橙光有限公司','123456789098789','张勇');

insert into GYGS values('12','重庆','光明有限公司','123345489098789','尔德');

insert into GYGS values('13','阿坝','子美有限公司','123456789098789','阿萨');

insert into GYGS values('14','南充','代数有限公司','123456789098789','沃达丰');

 

 

 

 

 

insert into GY values('01','11',NULL,'345','34567');

insert into GY values('01','13',NULL,'56','235');

insert into GY values('03','11',NULL,'126','3435');

insert into GY values('03','13',NULL,'676','27635');

insert into GY values('02','12',NULL,'456','7835');

insert into GY values('04','13',NULL,'355','2335');

insert into GY values('02','12',NULL,'3426','56535');

insert into GY values('04','12',NULL,'676','67855');

insert into GY values('01','14',NULL,'2343','3453');

insert into GY values('03','14',NULL,'789','235');

 

3、查询供应了“A4 纸”的且供应数量大于 100 的供应公司编号及公司名,结果按公司编号降序排列。

SELECT GYGS.Gno,GNAME

FROM WZ,GY,GYGS

WHERE WZ.WZNAME='A4纸'AND  WZ.WZno=GY.WZno AND GY.GYnum > 100 AND GYGS.Gno=GY.Gno

ORDER BY Gno DESC;

 

以上结果没有按照降序排列

修改后

SELECT Gno,GYnum

FROM GY

WHERE  GYnum > 100

ORDER BY Gno DESC;

 

 

 

4、查询供应了所有物资的供应公司名。

SELECT Gno

FROM GS

WHERE GYprice IS NOT NULL;

 

过滤重复

SELECT DISTINCT Gno FROM GY;

 

5、查询至少供应了’2'号公司供应的全部物资的公司编号。

6、<tex>2^{\circ }</tex>

select Gno

from GY

where Gno in

(

select Gno from GY where Gno<>'2' and GYnum in (select GYnum from GY where Gno='2')

)

 

7、对三张表进行各种修改和删除数据操作(至少五种代码操作)。

①、 INSERT INTO WZ ( WZno, WZNAME,WZTYPE )

VALUES( '05',  '毛笔', '学习用具' );

 

 

加入一行数据

 

②、DELETE FROM GYGS WHERE GNAME= '01' ; 

 

将编号为01的删除

③、 update WZ set WZNAME = '白纸' where WZno = 01;

 

 

 

将WZ表中的A4纸修改为白纸

④、delete from GY where Gno = 03;

删除GY表中,公司编号为03的所有数据

 

⑤、delete from WZ;

删除WZ表里面的所有数据

 

标签:insert,课堂练习,into,GY,WZ,values,数据库,Gno
From: https://www.cnblogs.com/lyyds666jyqdm/p/16836704.html

相关文章

  • 本地MSSQL2008数据库连接服务器上的MSSQL2008数据库
    一、基础环境这里对于MSSQL2008的安装步骤不再做介绍,只描述【本地MSSQL2008数据库如何连接服务器上的MSSQL2008数据库】服务器端数据库操作步骤开始:开始菜单->所有程序-......
  • 视频融合平台EasyCVR如何操作MySQL数据库来批量关闭通道?
    EasyCVR具备强大的视频接入、汇聚与管理、视频分发等视频能力,可实现的视频功能包括:视频监控直播、云端录像、云存储、录像检索与回看、智能告警、平台级联、服务器集群、智......
  • redhat7.6安装达梦DM8数据库详细部署讲解
      本文讲解如何在redhat7.6操作系统环境安装达梦DM8数据库,检查本机系统环境,注意事项如下:1、查看/tmp空间,/tmp建议至少1.5G以上2、安装DMglibc版本不能低于2.3,li......
  • Oracle数据库主从复制
    主从复制​主从复制简介:​主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库;主数据库一般是实时的业务数据库,从数据库的作用和使用场合一般有几个:​一、作......
  • Oracle数据库主从切换
    Oracle主从切换​主从查看打开状态:[root@odb1~]#su-oracleexportNLS_LANG="AMERICAN_AMERICA.ZHS16GBK"[oracle@odb1~]$source.bash_profile[oracle@odb1~]$sql......
  • Oracle数据库备份恢复
    ORACLE数据库备份恢复​一.​1.备份生产数据库​在线备份:​采用ARCHIVELOGmode方式备份,可以脱机或联机备份。需要备份数据库和归档日志​$.oraenvORACLE_SID=[prim]?......
  • Oracle安装示例数据库(Linux)
    前言数据库示例(OracleDatabaseExamples)包含了一系列的示例脚本和产品功能演示的Schema信息,在学习Oracle数据库的过程中可以通过这些示例更好的掌握数据库相关的选项和......
  • 10月28日Mybatis结果与数据库结果不一致
    Mybatis结果与数据库结果不一致1数据库有结果,而mybatis无结果2数据库1条结果,而mtbatis三条结果报错情况:点击查看代码CreatinganewSqlSessionSqlSession[org.apa......
  • sqllite (2) - c# .net 使用 sqllite 增删改查操作数据库
    sqllite(2)-c#.net使用sqllite增删改查操作数据库环境配置:开发环境:vs2013运行时版本:framework4.0 sqllite版本:非混合模式的静态链......
  • 经典数据库面试题
      题目和答案来源:https://www.cnblogs.com/pythonxiaohu/p/5749864.html3、查询平均成绩大于60分的同学的学号和平均成绩;思路:根据学生分组,使用avg获取平均值,通过havin......