• 实验目标:

根据课本p71提供的表格,实现p130第五大题的问题,理解和掌握关系数据库标准SQL语言,能够熟练使用SQL语言完成各种数据库操作和管理任务。包括使用SQL DDL语句创建、更改和删除数据库、模式和基本表;使用SQL查询语句完成各类查询操作。

二、实验要求:

用mysql command line client完成书本习题。

三、实验步骤:

1、制表

(1)P表:

CREATE TABLE IF NOT EXISTS `P`(

`P_id` INT UNSIGNED AUTO_INCREMENT,

`Pno` VARCHAR(100) NOT NULL,

`Pname` VARCHAR(100) NOT NULL,

`Pcolor` VARCHAR(100) NOT NULL,

`Pweight` VARCHAR(100) NOT NULL,

PRIMARY KEY ( `P_id` )

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO P

(Pno, Pname, Pcolor,Pweight)

VALUES

("P1", "螺母", "红" , "12");

INSERT INTO P

(Pno, Pname, Pcolor,Pweight)

VALUES

("P2", "螺栓", "绿" , "17");

INSERT INTO P

(Pno, Pname, Pcolor,Pweight)

VALUES

("P3", "螺丝刀", "蓝" , "14");

INSERT INTO P

(Pno, Pname, Pcolor,Pweight)

VALUES

("P4", "螺丝刀", "红" , "14");

INSERT INTO P

(Pno, Pname, Pcolor,Pweight)

VALUES

("P5", "凸轮", "蓝" , "40");

INSERT INTO P

(Pno, Pname, Pcolor,Pweight)

VALUES

("P6", "齿轮", "红" , "30");

(2)S表:

CREATE TABLE IF NOT EXISTS `S`(

`S_id` INT UNSIGNED AUTO_INCREMENT,

`Sno` VARCHAR(100) NOT NULL,

`Sname` VARCHAR(100) NOT NULL,

`Status` VARCHAR(100) NOT NULL,

`City` VARCHAR(100) NOT NULL,

PRIMARY KEY ( `S_id` )

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO S

(Sno, Sname, Status,City)

VALUES

("S1", "精益", "20" , "天津");

INSERT INTO S

(Sno, Sname, Status,City)

VALUES

("S2", "盛锡", "10" , "北京");

INSERT INTO S

(Sno, Sname, Status,City)

VALUES

("S3", "东方红", "30" , "北京");

INSERT INTO S

(Sno, Sname, Status,City)

VALUES

("S4", "丰泰盛", "20" , "天津");

INSERT INTO S

(Sno, Sname, Status,City)

VALUES

("S5", "为民", "30" , "上海");

(3)J表

CREATE TABLE IF NOT EXISTS `J`(

`J_id` INT UNSIGNED AUTO_INCREMENT,

`Jno` VARCHAR(100) NOT NULL,

`Jname` VARCHAR(100) NOT NULL,

`City` VARCHAR(100) NOT NULL,

PRIMARY KEY ( `J_id` )

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO J

(Jno, Jname, City)

VALUES

("J1", "三建", "北京" );

INSERT INTO J

(Jno, Jname, City)

VALUES

("J2", "一汽", "长春" );

INSERT INTO J

(Jno, Jname, City)

VALUES

("J3", "弹簧厂", "天津" );

INSERT INTO J

(Jno, Jname, City)

VALUES

("J4", "造船厂", "天津" );

INSERT INTO J

(Jno, Jname, City)

VALUES

("J5", "机车厂", "唐山" );

INSERT INTO J

(Jno, Jname, City)

VALUES

("J6", "无线电厂", "常州" );

INSERT INTO J

(Jno, Jname, City)

VALUES

("J7", "半导体厂", "南京" );

(4)SPJ表

CREATE TABLE IF NOT EXISTS `SPJ`(

`SPJ_id` INT UNSIGNED AUTO_INCREMENT,

`Sno` VARCHAR(100) NOT NULL,

`Pno` VARCHAR(100) NOT NULL,

`Jno` VARCHAR(100) NOT NULL,

`Qty` VARCHAR(100) NOT NULL,

PRIMARY KEY ( `SPJ_id` )

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S1", "P1", "J1","200" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S1", "P1", "J3","100" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S1", "P1", "J4","700" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S1", "P2", "J2","100" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S2", "P3", "J1","400" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S2", "P3", "J2","200" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S2", "P3", "J4","500" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S2", "P3", "J5","400" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S2", "P5", "J1","400" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S2", "P5", "J2","100" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S3", "P1", "J1","200" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S3", "P3", "J1","200" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S4", "P5", "J1","100" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S4", "P6", "J3","300" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S4", "P6", "J4","200" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S5", "P2", "J4","100" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S5", "P3", "J1","200" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S5", "P6", "J2","200" );

INSERT INTO SPJ

(Sno, Pno, Jno,Qty)

VALUES

("S5", "P6", "J4","500" );

2、用sql语言实现习题

1. 找出所有供应商的姓名和所在城市。

SELECT Sname,City FROM S;

2. 找出所有供应商的姓名和所在城市。

SELECT Pname ,Pcolor,Pweight FROM P;

3. 找出使用供应商S1所供应零件的工程号码。

SELECT Jno FROM SPJ WHERE Sno='S1';

4. 找出使用供应商S1所供应零件的工程号码。

SELECT Pname ,Qty FROM SPJ,P WHERE P.Pno=SPJ.Pno AND SPJ.Jno='J2';

5. 找出上海厂商供应的所有零件号码。

SELECT Pno FROM SPJ,S WHERE S.Sno=SPJ.Sno AND City='上海';

6. 出使用上海产的零件的工程名称。

SELECT Jname FROM SPJ,S,J WHERE S.Sno=SPJ.Sno AND S.City='上海' AND J.Jno=SPJ.Jno;

7. 找出没有使用天津产的零件的工程号码。

SELECT DISP Jno FROM SPJ WHERE Jno NOT IN(SELECT DIST Jno FROM SPJ ,S WHERE S.Sno=SPJ.Sno AND S.City='天津';)适用于Jno是唯一或不是唯一的情况;

SELSECT  DIST Jno FROM SPJ ,S WHERE S.Sno=SPJ.Sno AND S.City='天津'; 适用于Jno是唯一情况。

8.把全部红色零件的颜色改成蓝色。

UPDATE P SET Pcolor='蓝' WHERE Pcolor ='红';

9. 由S5供给J4的零件P6改为由S3供应。

UPDATE SPJ SET Sno='S3' WHERE Sno ='S5' AND Jno ='J4' AND Pno='P6';

10. 从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。

DELETE FROM S WHERE Sno='S2';

或 DELETE FROM SPJ WHERE Sno='S2';

11. 请将(S2,J6,P4,200)插入供应情况关系。

INSERT INTO SPJ VALUES ('S2','J6','P4','200');

四、实验总结:

根据这一系列的学习,并通过习题训练,使我理解和掌握关系数据库标准SQL语言,能够熟练使用SQL语言完成各种数据库操作和管理任务。包括使用SQL DDL语句创建、更改和删除数据库、模式和基本表;使用SQL查询语句完成各类查询操作。

ps:有些分号打错(如果中文英文切换一下就好了)

DIST 是DISTINCT的缩写  报错的话 可以改一下

数据库系统概论 第三章 第五大题 实验报告相关推荐

  1. 数据库系统概论第三章学习通作业(建表、查询、修改、删除、视图)

    设有3个关系: S(S#,SNAME,SEX,AGE) SC(S#,C#,GRADE) C(C#,CNAME,TEACHER) 试用SQL语句完成下列大题1~4的任务: 用数据定义语言DDL定义上述三 ...

  2. 数据库系统概论-第三章 关系数据库标准语言 SQL

    概述 SQL的特点 综合统一 SQL集数据定义语言,数据操纵语言,数据控制语言的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,可以执行以下一系列要求: 定义和修改.删除 关系模式 ...

  3. 数据库系统概论(第五版)实验报告五

    复杂的单表查询 实验目的: 1.在查询语句中用Group by子句进行分组:用Having子句对分组进行筛选. 2.使用MAX(),MIN(),COUNT(),SUM(),AVG()等函数在查询结果集 ...

  4. 第三章第九题(商业:检验ISBN-10)((Business: check ISBN-10))

    第三章第九题(商业:检验ISBN-10)((Business: check ISBN-10)) **3.9(商业:检验ISBN-10)ISBN-10(国际标准书号)由10个个位整数d1d2d3d4d5 ...

  5. 《机器学习》周志华课后习题答案——第三章 (1-7题)

    <机器学习>周志华课后习题答案--第三章 (1-7题) 文章目录 <机器学习>周志华课后习题答案--第三章 (1-7题) 一.试析在什么情形下式(3.2)中不必考虑偏置项b. ...

  6. 基于python的文件加密传输系统 毕业论文_20183411 李丞灏 2020-2021 《python程序设计》 实验三 加密传输文件 实验报告...

    20183411 李丞灏 2020-2021 <python程序设计> 实验三 加密传输文件 实验报告 课程:<Python程序设计> 班级: 1834 姓名: 李丞灏 学号: ...

  7. android碎片实验报告,三年级下册科学实验报告模板1篇

    三年级下册科学实验报告模板1篇 三年级下册科学实验报告模板1 第一单元 地球和地表的变化 (一).地球结构模型的制作 [实验目的]通过制作地球结构模型使学生更清楚地掌握地球内部的构造. [实验材料]各 ...

  8. 三位数码管实验报告-数字系统实验

    这里写自定义目录标题 数字系统实验-三位数码管实验报告## 1. 日志(2020.03.26日完成) 2. 报告 3.实验总结 数字系统实验-三位数码管实验报告## 1. 日志(2020.03.26日 ...

  9. 数据库系统概论 第十一章课后习题(部分)

    本文是<数据库系统概论>的第十一章(并发控制)的部分课后习题,题目来源:[2019-2020春学期]数据库作业21:第十一章: 并发控制 先来对这章的主要内容大概总结一下 1)多事务执行方 ...

最新文章

  1. Android仿QQ侧滑菜单
  2. java collections.sort 忽略大小写排序_Java Spring Mongo排序忽略大小写问题
  3. 程序员面试题精选100题(47)-数组中出现次数超过一半的数字[算法]
  4. 7.1Python异常处理
  5. jmeter java接口_JMeter接口Java开发五步曲
  6. 【ArcGIS风暴】捕捉VS经典捕捉,谁更有用武之地?
  7. DMN中的函数式编程:感觉就像再次重读我的大学课程一样
  8. python 绘制分布直方图_统计学中常见的4种抽样分布及其分布曲线(Python绘制)...
  9. lucene 增量 全量 更新索引_10年+,阿里沉淀出怎样的搜索引擎?
  10. [转]busybox登陆后没要求输入密码的解决办法
  11. Arcgis javascript那些事儿(十五)——影像服务的发布与使用
  12. linux下查看进程与线程
  13. springboot 整合腾讯云短信
  14. 一、VMware及win10虚拟机的安装及环境配置
  15. 46個不可不知的常識
  16. 用php写后端怎么使用模板_用PHP保守秘密
  17. 电视尺寸与观看距离对应表
  18. (五)、JAVA基于OPENXML的word文档插入、合并、替换操作系列之word文件合并[支持多文件]
  19. From表单的属性action和method
  20. h5和mysql做图书系统_JSP+Servlet+C3P0+Mysql实现的图书馆管理系统

热门文章

  1. 移动硬盘接android手机吗,笔点说:智能手机可以直接连接移动硬盘读取数据吗?...
  2. Cypress 元素定位
  3. 计算机复制操作的方法,怎么用键盘复制粘贴?电脑使用键盘复制粘贴的方法
  4. uniapp中使用拷贝,复制粘贴功能,uniapp,隐藏软键盘
  5. 解决WinBUGS14 error:cannot bracket slice for node gamma[3]
  6. 小米如何使用远程管理FTP操作电脑和手机的文件
  7. (社会舆情) 小世界网络,规则网络,随机网络
  8. 用粒子群解决有约束的最优解问题
  9. 【食品化学与营养】第二章 水的化学与营养 笔记
  10. C++中二维数组的动态创建于处理(zzl)