数据库系统原理实验一:关系数据库标准语言SQL
**
1.创建表
**
create table s
(sno char(2),
sname varchar(10),
status int,city varchar(10));
create table p(
pno char(2),
pname varchar(6) ,
color char(1),
weight int);
create table j(
jno char(2),
jname varchar(8),
city varchar(6));
create table spj(
sno char(2),
pno char(2),
jno char(2),
qty int);
**
2.插入数据
**
insert into s values(‘S1’,‘竟仪’,20,‘天津’);
insert into s values(‘S2’,‘盛锡’,10,‘北京’);
insert into s values(‘S3’,‘东方红’,30,‘北京’);
insert into s values(‘S4’,‘丰泰盛’,20,‘天津’);
insert into s values(‘S5’,‘为民’,30,‘上海’);
insert into p values(‘P1’,‘螺母’,‘红’,12);
insert into p values(‘P2’,‘螺栓’,‘绿’,17);
insert into p values(‘P3’,‘螺丝刀’,‘蓝’,14);
insert into p values(‘P4’,‘螺丝刀’,‘红’,14);
insert into p values(‘P5’,‘凸轮’,‘蓝’,40);
insert into p values(‘P6’,‘齿轮’,‘红’,30);
insert into j values(‘J1’,‘三建’,‘北京’);
insert into j values(‘J2’,‘一汽’,‘长春’);
insert into j values(‘J3’,‘弹簧厂’,‘天津’);
insert into j values(‘J4’,‘造船厂’,‘天津’);
insert into j values(‘J5’,‘机车厂’,‘唐山’);
insert into j values(‘J6’,‘无线电厂’,‘常州’);
insert into j values(‘J7’,‘半导体厂’,‘南京’);
insert into spj values(‘S1’,‘P1’,‘J1’,200);
insert into spj values(‘S1’,‘P1’,‘J3’,100);
insert into spj values(‘S1’,‘P1’,‘J4’,700);
insert into spj values(‘S1’,‘P2’,‘J2’,100);
insert into spj values(‘S2’,‘P3’,‘J1’,400);
insert into spj values(‘S2’,‘P3’,‘J2’,200);
insert into spj values(‘S2’,‘P3’,‘J4’,500);
insert into spj values(‘S2’,‘P3’,‘J5’,400);
insert into spj values(‘S2’,‘P5’,‘J1’,400);
insert into spj values(‘S2’,‘P5’,‘J2’,100);
insert into spj values(‘S3’,‘P1’,‘J1’,200);
insert into spj values(‘S3’,‘P3’,‘J1’,200);
insert into spj values(‘S4’,‘P5’,‘J1’,100);
insert into spj values(‘S4’,‘P6’,‘J3’,300);
insert into spj values(‘S4’,‘P6’,‘J4’,200);
insert into spj values(‘S5’,‘P2’,‘J4’,100);
insert into spj values(‘S5’,‘P3’,‘J1’,200);
insert into spj values(‘S5’,‘P6’,‘J2’,200);
insert into spj values(‘S5’,‘P6’,‘J4’,500);
**
3.请用sql语句完成下面题目的查询。
**
(1)找出所有供应商的姓名和所在城市:
select sname,city FROM s;
(2)求供应工程J1零件P1的供应商号码SNO:
select sno from spj where jno=‘j1’ and pno=‘p1’
(3)求供应工程J1零件为红色的供应商号码SNO:
select distinct sno from spj NATURAL JOIN p where color=‘红’ AND jno=‘j1’
(4)找出工程项目J2使用的各种零件的名称及其数量。
select pname,sum(qty) as sumqty from p join spj on p.pno=spj.pno where jno=‘j2’ group by pname
(5)找出使用上海产的零件的工程名称。
select distinct jname from s,j,spj where s.sno=spj.sno and j.jno=spj.jno and s.city=‘上海’
(6)求没有使用天津供应商生产的红色零件的工程号JNO:
select jno from spj where jno not in (select jno from spj,p,s where spj.pno=p.pno and spj.sno=s.sno and city=‘天津’ and color=‘红’)
(7)把全部红色零件的颜色改成蓝色。
update p set color=‘蓝’ where color=‘红’
(8)由S5供给J4的零件P6改为由S3供应。
update spj set sno=‘S3’ where sno=‘S5’ and pno=‘P6’ and jno=‘J4’
(9)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。
delete from s where sno=‘s2’
delete from spj where sno=‘s2’
(10)请将(S2,J6,P4,200)插入供应情况关系。
INSERT INTO spj(sno,pno,jno,qty) values(‘S2’,‘P4’,‘J6’,200)
**
4.请为三建工程项目建立一个供应情况的视图,包括供应商代码SNO、零件代码PNO、供应数量QTY。
**
create view v_sj as
select sno,pno,sum(qty) as qty from spj where jno in (select jno from j where jname = ‘三建’) group by sno,pno
(1)找出三建工程项目使用的各种零件代码及其数量
select pno,sum(qty) as qtynum from v_spj group by pno
(2)找出供应商S1的供应情况
select * from v_spj where sno=‘S1’
**
5.在表SPJ定义索引IDX_SPJ,包括(SNO,PNO,JNO)。
**
CREATE UNIQUE INDEX IDX_SPJ TO(SNO,PNO,JNO);
数据库系统原理实验一:关系数据库标准语言SQL相关推荐
- 实验一 关系数据库标准语言SQL
实验一 关系数据库标准语言SQL [实验目的] 在给定的关系数据库管理系统MySQL环境下,通过实验学生能够: 1.MySQL环境的认识及熟悉,了解其对标准SQL的扩充. 2.掌握MySQL环境下数据 ...
- 【数据库原理 • 三】关系数据库标准语言SQL
前言 数据库技术是计算机科学技术中发展最快,应用最广的技术之一,它是专门研究如何科学的组织和存储数据,如何高效地获取和处理数据的技术.它已成为各行各业存储数据.管理信息.共享资源和决策支持的最先进,最 ...
- 数据库系统-第三章-关系数据库标准语言SQL
内容来自2021春季学期<数据库系统>课程的PPT SQL概述 SQL(Structured Query Language)--结构化查询语言,是关系数据库的标准语言:是一个通用的.功能极 ...
- 【思维导图总结——数据库系统概论】关系数据库标准语言SQL
关系数据库标准语言SQL 数据库系统概论--关系数据库标准语言SQL 关系数据库标准语言SQL 一.SQL概述 二.数据定义 (一).SQL数据定义语句以及现代关系数据库的层次结构 (二).模式的定义 ...
- 重温《数据库系统概论》【第一篇 基础篇】【第3章 关系数据库标准语言SQL】
本篇内容为中国人民大学教授王珊.萨师煊的<数据库系统概论>自学课程的复习笔记,学习视频源于小破站(传送门),对应视频P16-P27,属教材"[第一篇 基础篇]"的&qu ...
- 【数据库系统】第一部分 数据库基础(3) 关系数据库标准语言SQL(3) 数据定义
本文属于「数据库系统」系列文章之一,这一系列着重于「数据库系统知识的学习与实践」.由于文章内容随时可能发生更新变动,欢迎关注和收藏数据库系统系列文章汇总目录一文以作备忘.需要特别说明的是,为了透彻理解 ...
- 第3章关系数据库标准语言SQL
第3章关系数据库标准语言SQL 本文全部内容来自数据库系统概论(第5版)-王珊.萨师煊著 3.1SQL概述 综合统一 高度非过程化 面向集合的操作方式 以同一种语法结构提供多种使用方式 语法简洁,易学 ...
- 数据库系统原理 实验5 数据库恢复技术
数据库系统原理 实验5 数据库恢复技术 一. 实验目的 1. 掌握数据库备份和恢复的概念: 2. 熟练掌握数据库备份和恢复.数据导入导出等操作: 二. 实验内容及要求 假定你的数据库名称是XDB(具体 ...
- 第三章关系数据库标准语言SQL
第三章关系数据库标准语言SQL 3.1_SQL的特点 3.3_数据定义 3.3.1_基本表的定义.删除与修改 3.3.3_索引的建立与删除 3.4_数据查询 3.4.1_查询时消除重复行 3.4.2_ ...
- 【数据库系统设计】关系数据库标准语言SQL(3)
关系数据库标准语言SQL 数据更新 插入数据 插入元组 插入子查询结果 修改数据 修改某一个元组值 删除数据 删除某一个元组的值 删除多个元组的值 带子查询的删除语句 空值的处理 空值的产生 空值的判 ...
最新文章
- Swift 使用CoreLocation获取定位与位置信息
- 【项目实践】中英文文字检测与识别项目(CTPN+CRNN+CTC Loss原理讲解)
- 链接静态库的顺序问题
- USB转串口 FT232/PL2303/CH340 比较
- python-条件语句
- 移动端html搜索怎么写,移动端实现搜索功能
- Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户
- python中again函数怎么用_Python中的偏函数怎么用?
- github地址持续收集
- 在xml里追加结点时添加回车(libxml2)
- 【渝粤教育】国家开放大学2018年秋季 0248-21T电工电子技术 参考试题
- java的css的块_CSS基础知识(概念、块级元素、行内元素、选择器)
- rtsp、rtmp测试地址
- 基于MATLAB的线性规划
- oracle数据存储层级
- OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields
- pip install 后面加个点是什么意思?
- 今天市场:洗洗更健康!
- oracle中活着的写法,oraclekk
- 在 FPGA 上快速构建 PID 算法