MySQL数据库命令行【篇章九】之数据库综合查询(SELECT)

本文详细介绍了在MySQL数据库中使用SELECT语句进行综合查询的各种应用场景,包括查询图书信息、读者信息、借阅记录等。通过具体的SQL命令示例,涵盖了不同条件筛选、别名设置、聚合函数以及多表查询等操作,帮助读者深入理解和掌握数据库查询技巧。
摘要由CSDN通过智能技术生成

1.掌握SELECT语句的基本语法格式。

2.掌握SELECT语句的执行方法。

设有一个图书馆数据库,其中包括三个表,即图书表、读者表和借阅表。三个表的结构如下,根据要求,写出相应的SQL 命令。


  •  查询全部图书的图书号、书号、作者、出版社和单价。


  • 查询全体图书的信息,其中单价打8折,并设置该列的别名为“打折价”。


  •  显示所有借过书的借阅者的读者号、并去掉重复行。


  • 查询所有单价在20-30元之间的图书信息。

图书管理系统其实是一个很复杂的信息管理系统,它包括很多分类、检索等方面的内容。因为其复杂性,建立这样一个系统更加能体现出运用SQL Server数据库进行数据处理的优越性。本课题将实现一个简化的图书管理系统的功能。 1.系统功能设计 (1)信息录入功能 1)添加新图书信息。当图书馆收藏新图书时,系统向用户提供新图书信息录入功能,由于同一种书可能会有多本,因此,新图书的信息有两类:某一个ISBN类别的图书信息,包括:ISBN书号、图书类别、书名、作者、出版社、出版日期、价格、馆藏数量、可借数量、图书简介;另一个具体到每一本书的信息,包括:ISBN书号、图书书号、是否可借。每一个ISBN书号和同一个ISBN书号的多本书之间是一对多的关系,每一本书的图书书号是唯一的。 2)添加读者信息。用于登记新读者信息。包括:借书证号、姓名、性别、身份证号、职称、可借数量、已借数量、工作部门、联系电话等。 3)借阅信息。用于登记读者的借阅情况信息。包括:借书证号、借阅书号、借出日期、借阅期限、归还日期等信息。归还日期为空值示该图书未归还。 (2)数据修改和删除功能 1)修改和删除图书信息。图书被借出时,系统需要更新图书信息的可借数量,当可借数量为0时,示该图书都已被借出。当输入的图书信息有错误或需要进行必要更新时,可以修改图书信息;当一种图书所有馆藏图书都已损毁或遗失并且不能重新买到时,该图书信息需要删除。 2)修改和删除读者信息。当读者的自身信息发生变动,如部门间调动或调离本单位,或违反图书馆规定需要限制其可借阅图书数量时,需要修改读者信息。 3)还书处理。读者归还图书时,更新图书借阅信息中的归还日期,读者信息中的已借数量及ISBN类别信息中该图书的可借数量。 (3)查询和统计功能 1)图书查询功能。根据图书的各种已知条件来查询图书的详细信息,如书名、作者、出版社、ISBN书号等支持模糊查询。 2)读者信息查询。输入读者的借书证号、姓名、工作部门等信息,查询读者的基本信息。对查询到的每一个读者,能够显示其未归还的图书编号和书名。 3)查询所有到期未归还的图书信息。要求结果显示图书编号、书名、读者姓名、借书证号码、借出日期等信息。 4)统计指定读者一段时间内的某类图书或所有类别图书借阅次数及借阅总次数。 2.数据的创建 根据功能要求的说明创建下列数据: (1)图书ISBN类别信息 图书ISBN类别信息包括以下字段: ISBN书号、图书类别、书名、作者、出版社、出版日期、价格、馆藏数量、可借数量、图书简介。 (2)图书信息 图书信息包括以下字段: ISBN书号、图书书号、是否可借。 (3)读者信息 读者信息包括以下字段: 借书证号、姓名、性别、出生年月、身份证号、职称、可借数量、已借数量、工作部门、家庭地址、联系电话。 (4)借阅信息(图书-读者关系) 借阅信息包括以下字段: 借书证号、借阅书号、借出日期、借阅期限、归还日期。 3.数据库完整性设计 设计者应认真分析和思考各个之间的关系,合理设计和实施数据完整性原则。 1) 给每个实施主键及外键约束。 2) 设定缺省约束。如性别。 3) 设置非空约束如图书信息中的书名。 4) 实施CHECK约束。如ISBN类别中的可借数量小于馆藏数量。 5) 实施规则。如身份证号码必须为15为或18位。 4.SQL Server数据库对象设计 1)设计一个存储过程,以图书编号为输入参数,返回借阅该图书但未归还的读者姓名和借书证号。 2)读者资料查询:设计一个有多个输入参数的存储过程,返回读者的详细信息。设计另一存储过程并以读者借书证号为输入参数,返回该读者未归还的图书名称和图书编号。 3)到期图书查询:设计一个视图,返回所有逾期未归还的图书的编号、书名、读者姓名等信息。 4)统计图书借阅次数:设计一个以两个日期作为输入参数的存储过程,计算这一段时间内各类别图书被借阅的次数,返回图书类别、借阅次数的信息。 5)加快数据检索速度,用图书编号为图书信息建立索引。 6)为读者信息创建一个删除触发器,当一个读者调出本单位时,将此读者的资料从读者信息中删除。注意实施业务规则:有借阅书的读者不得从读者信息中删除。 7)借阅处理:为借阅信息设计INSERT触发器,在读者借阅时更改ISBN类别信息,且可借数量减1,图书信息是否可借列的值变为“不可借”,读者信息中该类读者已借阅数加1。 8)还书处理:为借阅信息设计UPDATE触发器,在该的归还日期列被更改后,将图书信息的是否可借列的值变为“可借”,读者信息中已借数量减1及ISBN类别信息中可借数量加1。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值