admin 管理员组文章数量: 1086019
2024年5月18日发(作者:django实现注册和登录)
江西财经大学精品课程《数据库应用》实验报告
实验五 SQL参数查询、子查询与数据更新
学号
实验项目
实验地点
指导教师
一、实验要求
1. 实验目的
了解SQL参数查询
掌握in子查询和带关系运算符的子查询应用;
掌握数据更新语句;
2. 实验准备
(1)登陆毕博教学网站(210.35.204.159/);(2)选择“数据库应用”课程;(3)选择“按周编
制的教学安排”后,再选择“第五周”;(4)下载“实验”和“数据库样例”。
3. 实验步骤
(1)完成教科书中下列例子。
【例3-42】
【例3-43】
【例3-44】
【例3-45】
【例3-46】
【例3-47】
【例3-48】
【例3-49】
【例3-50】
【例3-51】
【例3-52】
第 1 页/ 共10页
姓名
同组人
SQL参数查询、子查询与数据更新
G402
骆斯文
实验仪器台号
实验日期及节次
20
2011 年 9 月 27 日,第4 节
江西财经大学精品课程《数据库应用》实验报告
第二部分实验:
打开“图书管理”数据库,完成下列工作。
已知一个图书管理信息系统,其数据表间约束如下图所示,各个数据表的数据类型如上题表所示。
编写SQL完成下列功能。
用子查询完成以下实验:
(1) 查询未归还图书的读者编号、姓名和性别。
(2) 查询没有借过书的读者姓名
(3) 查询至少借阅了3本图书的读者编号、姓名、图书编号和图书名称,并按读者编号排序
(4) 查询已借阅图书但尚未归还的读者编号、姓名和工作单位
(5) 查询没有借阅管理类图书的读者编号、姓名和出生日期
用数据更新完成以下实验:
(6) 将计算机类的图书单价减少5元
(7) 将1987年出生的读者所借图书改为“已归还”
(8) 插入一条借书记录:读者编号06-00008,图书编号003-000024,借书日期2007-3-25,还书日
期2007-5-25,未归还。
(9) 删除2006年8月的借书记录。
(10) 删除读者欧阳思思的借书记录。
用参数查询完成以下实验:
(11)输入图书入库时间上、下限,查询在上限和下限期间入库图书的图书编号、图书名称和入库时
间。
二、实验过程(步骤、记录、数据和分析)
请将实验步骤中的每一步,使用截图方式记录其过程。
第 2 页/ 共10页
江西财经大学精品课程《数据库应用》实验报告
(1) 查询未归还图书的读者编号、姓名和性别。
SQL 语句:SELECT 读者编号,姓名,性别
from 读者
where 读者编号 in
(select 读者编号 from 借阅 where 是否归还<>true)
结果为:
(2)查询没有借过书的读者姓名
SQL语句:SELECT 姓名
from 读者
第 3 页/ 共10页
江西财经大学精品课程《数据库应用》实验报告
where 读者编号 not in
(select 读者编号 from 借阅)
结果为:
(3)查询至少借阅了3本图书的读者编号、姓名、图书编号和图书名称,并按读者编号排序
SQL语句:SELECT 读者.读者编号,姓名,图书.图书编号,图书名称
from 读者,图书,借阅
where 读者.读者编号=借阅.读者编号 and 借阅.图书编号=图书.图书编号 and 读者.读者编号 in
(select 读者.读者编号
from 读者,借阅
where 读者.读者编号=借阅.读者编号 and 是否归还<>true
group by 读者.读者编号
having count(借阅.读者编号)>=3)
order by 借阅.读者编号 desc
第 4 页/ 共10页
江西财经大学精品课程《数据库应用》实验报告
结果为:
(4)查询已借阅图书但尚未归还的读者编号、姓名和工作单位
SQL语句:
select 读者编号,姓名,工作单位
from 读者
where 读者编号 not in
(select 读者编号 from 借阅 where 是否归还=true)
结果为:
第 5 页/ 共10页
江西财经大学精品课程《数据库应用》实验报告
(5)查询没有借阅管理类图书的读者编号、姓名和出生日期
SQL语句:
结果为:
(6)将计算机类的图书单价减少5元
SQL语句:update 图书
第 6 页/ 共10页
江西财经大学精品课程《数据库应用》实验报告
set 单价= 单价+5
where 分类号="001"
(7)将1987年出生的读者所借图书改为“已归还”
SQL语句:忘记了怎么从身份证号中抽取数据作为出生日期。Substr函数总是出错,不知为何。
(8)插入一条借书记录:读者编号06-00008,图书编号003-000024,借书日期2007-3-25,还书日期
2007-5-25,未归还。
SQL语句:insert into 借阅(读者编号,图书编号,借阅日期,归还日期,是否归还)
values("06-00008","003-000024","2007/3/25","2007/5/25","false")
(9)删除2006年8月的借书记录。
delete
第 7 页/ 共10页
江西财经大学精品课程《数据库应用》实验报告
from 借阅
where 借阅日期 between #2006-08-01# and #2006-08-31#
(10)删除读者欧阳思思的借书记录。
SQL语句:delete
from 借阅
where 读者编号=(select 读者编号 from 读者 where 姓名="欧阳思思")
(11)输入图书入库时间上、下限,查询在上限和下限期间入库图书的图书编号、图书名称和入库时
间。
SQL语句:
select 图书编号,图书名称,入库时间
第 8 页/ 共10页
江西财经大学精品课程《数据库应用》实验报告
from 图书
where 入库时间 between [请输入入库时间下限] and [请输入入库时间上限]
时间在2001-01-01到2006-12-30之间的结果为
三、结论
1. 实验结果
列出本次实验中你认为重要的名称术语。
第 9 页/ 共10页
江西财经大学精品课程《数据库应用》实验报告
子查询是一个select语句,它嵌套在一个select语句(也可是insert或者delete或者update语句)的
where子句部分。
带关系运算符子查询语法结构为:
Where 表达式 关系运算符 [any|all] 子查询语句
SQL合并查询是将两个select语句的查询结果通过并运算union合并为一个查询结果。
参数查询是指在运行该查询时,系统会要求用户输入所需的参数值
数据操纵语句功能是插入删除或者修改数据表的记录值。
Insert into 命令的功能是向表中插入一条记录。
Update命令的功能是更新表中满足条件的记录 。
Delete from 命令的功能是从表中删除满足条件的记录。
2. 分析讨论
解释什么是记录、字段和主关键字。解释实验步骤(11)发生问题的原因。
二维表的每一行在关系中称为一个元组。在ACCESS中,一个元组对应表中的一条记录。
在ACCESS中,一个属性对应表中的一个字段,属性名对应字段名,属性值对应各个记录的字段值。
在候选关键字中选定一个作为关键字,称为giant关系的主关键字。关系中的主关键字是唯一的。
实验步骤(11)输入参数值如果下限大于所有记录中的最大字段值,或者上限小于所有记录中的最小
字段值,就会显示结果为空。
四、指导教师评语及成绩
成绩: 指导教师签名:
第 10 页/ 共10页
版权声明:本文标题:数据库应用ACCESS-05实验五 SQL参数查询、子查询与数据更 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1716047982a690905.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论