HNU分布式数据库第二次作业数据库创建和SQL查询语句

第二次作业 数据库创建和SQL查询语句

  • 安装IDE

上次实验是在终端启动MySQL实现的,这次我们可以先下载IDE,得到可视化操作,这里我们下载MySQL Workbench

首先,点击下载地址https://dev.mysql.com/downloads/workbench/

点击下载后直接根据安装向导下载即可,下载完成后

我们需要在终端以管理员身份先运行MySQL:

这里不用管理员好像运行不了(

(base) PS D:\mysql-8.0.43-winx64\bin> net start mysql发生系统错误 5。

拒绝访问。)

系统错误 5就是说明我们需要管理员权限

之后运行MySQL Workbench点击Database,选择Connect to Database

配置如下,连接我们本地的MySQL,选择本地IP,端口号3306

这里注意密码是之前我们设置的,不要输错

成功输入密码后即可进入数据库页面

  • 创建数据库
  1. 根据两个文档的内容,我们可以得到5张核心表:

图书分类表(BookClass):存储图书分类信息

出版社表(Publisher):存储出版社编号与名称

图书表(Book):存储图书详细信息,关联分类表与出版社表

读者表(Reader):存储读者个人信息

借阅表(Borrow):存储借阅记录,关联读者表与图书表

  1. 接着在MySQL Workbench中左侧的Navigator页面下方切换至Schemas界面,右键空白区,选择Create schema

创建BookDB数据库:

  • 导入数据
  1. 数据预处理

由于数据库中的日期是YYYY-MM-DD,参考数据是月/日/年格式,需要先进行预处理

打开excel之后将数据格式调为YYYY-MM-DD

之后要将其转为csv格式

  1. 导入数据(以bookclass表为例)

右键bookclass表,选择Table Data Import Wizard

之后选择我们准备好的文件

核对列映射,之后完成导入。

重复上述操作可以完成剩余的表

  • 完成查询操作
  1. 查询1991年出生的读者姓名、工作单位和身份证号。

可以发现没有查询到结果(excel表格里面发现确实没有1991年出生的读者)

  1. 查询图书名中含有"数据库"的图书的详细信息。

  1. 查询在2015-2016年之间入库的图书编号、出版时间、入库时间和图书名称,并按入库时间的降序排序输出。

  1. 查询读者"喻自强"借阅的图书编号、图书名称、借书日期和归还日期。

  1. 查询借阅了清华大学出版社出版的图书的读者编号、读者姓名、图书名称、借书日期和归还日期。

  1. 查询会计学院没有归还所借图书的读者编号、读者姓名、图书名称、借书日期和应归还日期。

  1. 查询在2015-2016年之间借阅但还未归还图书的读者编号、读者姓名以及这些借阅未归还图书的图书编号、图书名称和借书日期。

  1. 查询每种类别图书的分类号、分类名称、最高价格和平均价格,并按最高价格的升序输出。

  1. 查询每个读者在借(即借阅未归还)的图书数量、读者编号、读者姓名和工作单位, 并按借书数量的降序排序输出。

  1. 查询每个出版社出版的每种类别的图书平均价格,要求显示出版社名称、图书类 别名称和平均价格。

  1. 查询在借图书的总价不低于200元的读者编号、读者姓名和在借图书总价。

  1. 查询从来没有借过书的读者姓名和工作单位(分别使用IN子查询和存在量词子查询表达)。

IN子查询:

存在量词子查询:

  1. 查询目前没有在借"经济类"图书的读者编号、读者姓名和出生日期(分别使用IN 子查询和存在量词子查询表达)。

IN子查询:

存在量词子查询:

  1. 查询既借阅过"政治经济学"图书又借阅过"数据库系统概念"图书的读者编号、读者姓名以及这两种图书的图书名称、借书日期和归还日期。

  1. 查询借阅过图书名称中包含"数据库"的所有图书的读者编号、读者姓名以及他们所借阅的这些图书的图书名称、借阅日期和归还日期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值