mysql library DB实操练习

这篇具有很好参考价值的文章主要介绍了mysql library DB实操练习。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.1查询库存表中的书号和库存状态列,要求消除重复行

mysql> use librarydb;

Database changed

mysql> select distinct 书号,库存状态 from 库存表;

+-------+----------+

| 书号  | 库存状态 |

+-------+----------+

| A0120 | 在馆     |

| A0120 | 借出     |

| A0134 | 在馆     |

| A0134 | 借出     |

| B1101 | 在馆     |

| C1269 | 丢失     |

| C1269 | 借出     |

| C3256 | 借出     |

| C3256 | 在馆     |

+-------+----------+

9 rows in set (0.03 sec)

1.2 查询读者表中的姓名和单位列,显示的列标题改为姓名显示为“name”,单位显示为“college”

mysql> select 姓名 as name,单位 as college from 读者表;

+--------+----------+

| name   | college  |

+--------+----------+

| 张小东 | 软件学院 |

| 苏明   | 财经学院 |

| 梁小红 | 软件学院 |

| 赵明敏 | 传媒学院 |

| 李丰年 | 计财处   |

+--------+----------+

5 rows in set (0.03 sec)

1.3查询图书表中每种书的书名和金额

mysql> select 书名,数量*单价 as 金额 from 图书表;

+----------------+--------+

| 书名           | 金额   |

+----------------+--------+

| 庄子           |  92.50 |

| 唐诗三百首     | 280.00 |

| 西方经济学史   | 318.40 |

| 商业博弈       | 585.00 |

| 数据结构       | 580.00 |

| 品牌策划与推广 | 252.00 |

| C语言程序设计  | 404.80 |

| MySQL数据库    | 261.00 |

+----------------+--------+

8 rows in set (0.05 sec)

1.4 查询库存表中员工的条码和库存状态,要求库存状态值为在馆时显示为“1”,借出时显示为“0”,丢失时显示为“-1”

mysql> select 条码,

    -> case

    -> when 库存状态='借出' then '0'

    -> when 库存状态='在馆' then '1'

    -> else '-1'

    -> end as 库存状态

    -> from 库存表;

+--------+----------+

| 条码   | 库存状态 |

+--------+----------+

| 123412 | 1        |

| 123413 | 0        |

| 223410 | 1        |

| 223411 | 0        |

| 311231 | 1        |

| 321123 | -1       |

| 321124 | 0        |

| 411111 | 0        |

| 411112 | 0        |

| 411113 | 1        |

+--------+----------+

10 rows in set (0.04 sec)

2.1 查询图书表中数量大于10本的图书书名、数量和出版社

mysql> select 书名,数量,出版社 from 图书表 where 数量>10;

+---------------+------+----------------+

| 书名          | 数量 | 出版社         |

+---------------+------+----------------+

| 商业博弈      |   15 | 北京大学出版社 |

| 数据结构      |   20 | 高等教育出版社 |

| C语言程序设计 |   11 | 高等教育出版社 |

+---------------+------+----------------+

3 rows in set (0.07 sec)

2.2查询库存表的存放位置含有“A”且库存状态为“借出” 的图书信息

mysql> select * from 库存表 where 库存状态='借出' and 存放位置 like '%A%';

1054 - Unknown column '存放位置' in 'where clause'

mysql> select * from 库存表 where 库存状态='借出' and 位置 like '%A%';

+--------+-------+--------+----------+

| 条码   | 书号  | 位置   | 库存状态 |

+--------+-------+--------+----------+

| 123413 | A0120 | 1-A-57 | 借出     |

| 321124 | C1269 | 3-A-13 | 借出     |

+--------+-------+--------+----------+

2 rows in set (0.09 sec)

2.3 查询图书表中财经和文学类图书数量大于5本的图书信息

mysql> select * from 图书表 where 类别='财经' or 类别='文学' and 数量>5;

+-------+--------------+------+--------+----------------+-------+------+

| 书号  | 书名         | 类别 | 作者   | 出版社         | 单价  | 数量 |

+-------+--------------+------+--------+----------------+-------+------+

| A0134 | 唐诗三百首   | 文学 | 李平   | 安徽科学出版社 | 28.00 |   10 |

| B1101 | 西方经济学史 | 财经 | 莫竹芩 | 海南出版社     | 39.80 |    8 |

| B2213 | 商业博弈     | 财经 | 孔英   | 北京大学出版社 | 39.00 |   15 |

+-------+--------------+------+--------+----------------+-------+------+

3 rows in set (0.08 sec)

2.3

mysql> select * from 图书表 where (类别='财经' or 类别='文学') and 数量>5;

+-------+--------------+------+--------+----------------+-------+------+

| 书号  | 书名         | 类别 | 作者   | 出版社         | 单价  | 数量 |

+-------+--------------+------+--------+----------------+-------+------+

| A0134 | 唐诗三百首   | 文学 | 李平   | 安徽科学出版社 | 28.00 |   10 |

| B1101 | 西方经济学史 | 财经 | 莫竹芩 | 海南出版社     | 39.80 |    8 |

| B2213 | 商业博弈     | 财经 | 孔英   | 北京大学出版社 | 39.00 |   15 |

+-------+--------------+------+--------+----------------+-------+------+

3 rows in set (0.07 sec)

2.4 查询借阅表中还书日期为空 的记录

mysql> select * from 借阅表 where 还书日期 is null;

+--------+--------+----------+------------+----------+----------+

| 借阅号 | 条码   | 读者编号 | 借阅日期   | 还书日期 | 借阅状态 |

+--------+--------+----------+------------+----------+----------+

| 100001 | 123413 | 0001     | 2020-11-05 | NULL     | 借阅     |

| 100003 | 321123 | 1001     | 2020-07-01 | NULL     | 过期     |

| 100005 | 321124 | 0001     | 2020-10-15 | NULL     | 借阅     |

| 100006 | 223411 | 2001     | 2020-10-16 | NULL     | 借阅     |

| 100008 | 411111 | 0001     | 2020-09-25 | NULL     | 借阅     |

| 100009 | 411111 | 1001     | 2020-10-08 | NULL     | 借阅     |

+--------+--------+----------+------------+----------+----------+

6 rows in set (0.09 sec)

3.1查询“张小东”的基本状况和图书借阅情况

mysql> select * from 读者表,借阅表 where 读者表.读者编号=借阅表.读者编号 and 读者表.姓名='张小东';

+----------+--------+--------+----------+--------+--------+--------+----------+------------+----------+----------+

| 读者编号 | 姓名   | 类别号 | 单位     | 有效性 | 借阅号 | 条码   | 读者编号 | 借阅日期   | 还书日期 | 借阅状态 |

+----------+--------+--------+----------+--------+--------+--------+----------+------------+----------+----------+

| 0001     | 张小东 | 1      | 软件学院 | 有效   | 100001 | 123413 | 0001     | 2020-11-05 | NULL     | 借阅     |

| 0001     | 张小东 | 1      | 软件学院 | 有效   | 100005 | 321124 | 0001     | 2020-10-15 | NULL     | 借阅     |

| 0001     | 张小东 | 1      | 软件学院 | 有效   | 100008 | 411111 | 0001     | 2020-09-25 | NULL     | 借阅     |

+----------+--------+--------+----------+--------+--------+--------+----------+------------+----------+----------+

3 rows in set (0.08 sec)

3.2查询借阅状态为“借阅”的图书的书号和条码

mysql> select 库存表.书号,借阅表.条码 from 库存表,借阅表  where 借阅表.条码=库存表.条码 and 借阅表.借阅状态='借阅';

+-------+--------+

| 书号  | 条码   |

+-------+--------+

| A0120 | 123413 |

| C1269 | 321124 |

| A0134 | 223411 |

| C3256 | 411111 |

| C3256 | 411111 |

+-------+--------+

5 rows in set (0.09 sec)

3.3查询每位读者的姓名、单位、可借天数和可借数量

mysql> select 读者表.姓名,读者表.单位,读者类型表.可借天数,读者类型表.可借数量 from 读者表,读者类型表 where 读者表.类别号=读者类型表.类别号;

+--------+----------+----------+----------+

| 姓名   | 单位     | 可借天数 | 可借数量 |

+--------+----------+----------+----------+

| 张小东 | 软件学院 |       30 |       10 |

| 苏明   | 财经学院 |       30 |       10 |

| 梁小红 | 软件学院 |       60 |       20 |

| 赵明敏 | 传媒学院 |       60 |       20 |

| 李丰年 | 计财处   |       20 |       15 |

+--------+----------+----------+----------+

5 rows in set (0.09 sec)

3.4查询每个读者的借阅信息、包括读者姓名、书名、借阅日期、借阅状态

mysql> select 读者表.姓名,图书表.书名,借阅表.借阅日期,借阅表.借阅状态 from 读者表 join 借阅表 on 读者表.读者编号=借阅表.读者编号 join 库存表 on 借阅表.条码=库存表.条码  join 图书表 on 库存表.书号=图书表.书号;

+--------+-------------+------------+----------+

| 姓名   | 书名        | 借阅日期   | 借阅状态 |

+--------+-------------+------------+----------+

| 张小东 | 庄子        | 2020-11-05 | 借阅     |

| 张小东 | 数据结构    | 2020-10-15 | 借阅     |

| 张小东 | MySQL数据库 | 2020-09-25 | 借阅     |

| 苏明   | 唐诗三百首  | 2020-09-28 | 已还     |

| 梁小红 | 数据结构    | 2020-07-01 | 过期     |

| 梁小红 | MySQL数据库 | 2020-10-08 | 借阅     |

| 赵明敏 | MySQL数据库 | 2020-09-01 | 已还     |

| 李丰年 | 数据结构    | 2020-10-09 | 已还     |

| 李丰年 | 唐诗三百首  | 2020-10-16 | 借阅     |

+--------+-------------+------------+----------+

9 rows in set (0.10 sec)

3.5查询库存表中每本书的条码、位置和借阅的读者编号。没有借阅的,读者编号用null表示

mysql> select 库存表.条码,库存表.位置,借阅表.读者编号,借阅表.借阅状态 from 库存表 left join 借阅表 on (库存表.条码=借阅表.条码);

+--------+--------+----------+----------+

| 条码   | 位置   | 读者编号 | 借阅状态 |

+--------+--------+----------+----------+

| 123412 | 1-A-56 | NULL     | NULL     |

| 123413 | 1-A-57 | 0001     | 借阅     |

| 223410 | 2-B-01 | NULL     | NULL     |

| 223411 | 2-B-02 | 0002     | 已还     |

| 223411 | 2-B-02 | 2001     | 借阅     |

| 311231 | 2-C-23 | NULL     | NULL     |

| 321123 | 3-A-12 | 1001     | 过期     |

| 321124 | 3-A-13 | 2001     | 已还     |

| 321124 | 3-A-13 | 0001     | 借阅     |

| 411111 | 3-B-01 | 1002     | 已还     |

| 411111 | 3-B-01 | 0001     | 借阅     |

| 411111 | 3-B-01 | 1001     | 借阅     |

| 411112 | 3-B-02 | NULL     | NULL     |

| 411113 | 3-B-03 | NULL     | NULL     |

+--------+--------+----------+----------+

14 rows in set (0.10 sec)

4.1 按单位统计出该单位的读者人数

mysql> select 单位,count(*) from 读者表 group by 单位;

+----------+----------+

| 单位     | count(*) |

+----------+----------+

| 软件学院 |        2 |

| 财经学院 |        1 |

| 传媒学院 |        1 |

| 计财处   |        1 |

+----------+----------+

4 rows in set (0.08 sec)

4.2查找读者数量在2人及以上的部门名称和读者人数

mysql> select 单位,count(*) as 读者人数 from 读者表 group by 单位 having count(*)>=2;

+----------+----------+

| 单位     | 读者人数 |

+----------+----------+

| 软件学院 |        2 |

+----------+----------+

1 row in set (0.02 sec)

4.3分别统计各出版社的图书平均单价和总金额

mysql> select 出版社,avg(单价) as '平均单价',sum(单价*数量) as '总金额' from 图书表 group by 出版社;

+----------------+-----------+--------+

| 出版社         | 平均单价  | 总金额 |

+----------------+-----------+--------+

| 吉林大学出版社 | 18.500000 |  92.50 |

| 安徽科学出版社 | 28.000000 | 280.00 |

| 海南出版社     | 39.799999 | 318.40 |

| 北京大学出版社 | 39.000000 | 585.00 |

| 高等教育出版社 | 32.900000 | 984.80 |

| 人民邮电出版社 | 42.000000 | 252.00 |

| 电子工业出版社 | 29.000000 | 261.00 |

+----------------+-----------+--------+

7 rows in set (0.05 sec)

4.4对借阅表先按照读者编号吗,再按照条码统计图书的借阅次数,并显示小计

mysql> select 读者编号,条码,count(*) as '借阅次数' from 借阅表 group by 读者编号,条码 order by count(*);

+----------+--------+----------+

| 读者编号 | 条码   | 借阅次数 |

+----------+--------+----------+

| 0002     | 223411 |        1 |

| 2001     | 321124 |        1 |

| 2001     | 223411 |        1 |

| 0001     | 411111 |        1 |

| 0001     | 123413 |        1 |

| 1001     | 321123 |        1 |

| 0001     | 321124 |        1 |

| 1002     | 411111 |        1 |

| 1001     | 411111 |        1 |

+----------+--------+----------+

9 rows in set (0.09 sec)

4.5 将图书表按照数量从小到大排列

mysql> select * from 图书表 order by 数量 desc;

+-------+----------------+--------+--------+----------------+-------+------+

| 书号  | 书名           | 类别   | 作者   | 出版社         | 单价  | 数量 |

+-------+----------------+--------+--------+----------------+-------+------+

| C1269 | 数据结构       | 计算机 | 李刚   | 高等教育出版社 | 29.00 |   20 |

| B2213 | 商业博弈       | 财经   | 孔英   | 北京大学出版社 | 39.00 |   15 |

| C3182 | C语言程序设计  | 计算机 | 李学刚 | 高等教育出版社 | 36.80 |   11 |

| A0134 | 唐诗三百首     | 文学   | 李平   | 安徽科学出版社 | 28.00 |   10 |

| C3256 | MySQL数据库    | 计算机 | 孙季红 | 电子工业出版社 | 29.00 |    9 |

| B1101 | 西方经济学史   | 财经   | 莫竹芩 | 海南出版社     | 39.80 |    8 |

| C3121 | 品牌策划与推广 | 计算机 | 张晓红 | 人民邮电出版社 | 42.00 |    6 |

| A0120 | 庄子           | 文学   | 庄周   | 吉林大学出版社 | 18.50 |    5 |

+-------+----------------+--------+--------+----------------+-------+------+

8 rows in set (0.09 sec)

4.6将借阅表按照借阅状态排序,状态相同的再按照借阅日期从小到大排序

mysql> select 读者编号,条码,count(*) as '借阅次数' from 借阅表 group by 读者编号,条码 order by 借阅次数;

+----------+--------+----------+

| 读者编号 | 条码   | 借阅次数 |

+----------+--------+----------+

| 0002     | 223411 |        1 |

| 2001     | 321124 |        1 |

| 2001     | 223411 |        1 |

| 0001     | 411111 |        1 |

| 0001     | 123413 |        1 |

| 1001     | 321123 |        1 |

| 0001     | 321124 |        1 |

| 1002     | 411111 |        1 |

| 1001     | 411111 |        1 |

+----------+--------+----------+

9 rows in set (0.07 sec)

mysql> select * from 借阅表 order by 借阅状态,借阅日期;

+--------+--------+----------+------------+------------+----------+

| 借阅号 | 条码   | 读者编号 | 借阅日期   | 还书日期   | 借阅状态 |

+--------+--------+----------+------------+------------+----------+

| 100008 | 411111 | 0001     | 2020-09-25 | NULL       | 借阅     |

| 100009 | 411111 | 1001     | 2020-10-08 | NULL       | 借阅     |

| 100005 | 321124 | 0001     | 2020-10-15 | NULL       | 借阅     |

| 100006 | 223411 | 2001     | 2020-10-16 | NULL       | 借阅     |

| 100001 | 123413 | 0001     | 2020-11-05 | NULL       | 借阅     |

| 100007 | 411111 | 1002     | 2020-09-01 | 2020-09-24 | 已还     |

| 100002 | 223411 | 0002     | 2020-09-28 | 2020-10-13 | 已还     |

| 100004 | 321124 | 2001     | 2020-10-09 | 2020-10-14 | 已还     |

| 100003 | 321123 | 1001     | 2020-07-01 | NULL       | 过期     |

+--------+--------+----------+------------+------------+----------+

9 rows in set (0.07 sec)

4.7对借阅表中读者按照类别组进行分组,同类别的再按照单位分别统计借阅次数,并按照次数从小到大排列

mysql> select  类别号,单位,count(*) as '借阅次数' from 借阅表,读者表 where 借阅表.读者编号=读者表.读者编号 group by 类别号,单位 order by 借阅次数 desc;

+--------+----------+----------+文章来源地址https://www.toymoban.com/news/detail-754464.html

| 类别号 | 单位     | 借阅次数 |

+--------+----------+----------+

| 1      | 软件学院 |        3 |

| 2      | 软件学院 |        2 |

| 3      | 计财处   |        2 |

| 1      | 财经学院 |        1 |

| 2      | 传媒学院 |        1 |

+--------+----------+----------+

到了这里,关于mysql library DB实操练习的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Mysql】数据库第四讲(表的增删改查操作 超全面 附实操案例)

    语法: 案例: 创建一个学生信息表 单行 多行 语法 案例 表达式不包含字段 表达式包含字段 表达式包含多个字段 比较运算符: 逻辑运算符: AND:多个条件必须都为 TRUE(1),结果才是 TRUE(1); OR:任意一个条件为 TRUE(1), 结果为 TRUE(1) NOT:条件为 TRUE(1),结果为 FALSE(0) 案例1 英语不

    2024年02月07日
    浏览(56)
  • 数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年3月刊

    本文为大家整理了墨天轮数据社区2023年3月发布的优质技术文章,主题涵盖Oracle、MySQL、PostgreSQL等数据库的基础安装配置操作、故障处理、性能优化等日常实践操作,以及概念梳理、常用脚本等总结记录,分享给大家: Oracle优质技术文章 概念梳理基础配置 Oracle之数据文件和

    2023年04月21日
    浏览(56)
  • 数据库运维实操优质文章分享(含Oracle、MySQL等) | 2023年5月刊

    本文为大家整理了墨天轮数据社区2023年5月发布的优质技术文章,主题涵盖Oracle、MySQL、PostgreSQL等数据库的安装配置、故障处理、性能优化等日常实践操作,以及常用脚本、注意事项等总结记录,分享给大家: Oracle优质技术文章 概念梳理安装配置 Oracle的rwp之旅 Oracle之Hash J

    2024年02月10日
    浏览(40)
  • MySQL:关于数据库的一些练习题

    前面的内容已经把数据库的一些必要知识已经储备好了,因此下面就对于这些语句进行一些练习: 批量插入数据 SQL202 找出所有员工当前薪水salary情况 SQL195 查找最晚入职员工的所有信息 SQL196 查找入职员工时间排名倒数第三的员工所有信息 SQL201 查找薪水记录超过15条的员工

    2024年04月17日
    浏览(38)
  • 算法、数据结构、计算机系统、数据库MYSQL、概率论、数学实验MATLAB、数学建模、马原、英语、杂项、QT项目

    可以三个条件 以此类推 (condition1)?x:(condition2)?y:z string变成int int 变成string 可以用循环 模运算展开式推导 我们要证明等式: (a * b) mod m = ((a mod m) * (b mod m)) mod m 假设 a = q1 * m + r1 ,其中 q1 是 a 除以 m 的商, r1 是 a 除以 m 的余数。类似地,假设 b = q2 * m + r2 ,其中

    2024年02月08日
    浏览(66)
  • MySQL数据库中的存储过程以及存储函数练习

     字段名       数据类型       主键    外键    非空   唯一    自增       id             INT               是      否       是       是           否    name    VARCHAR(50)   否      否       是       否           否    glass   VARCHAR(50)     否   

    2024年02月15日
    浏览(45)
  • 【Django数据库连接报错】django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.36).

    Django数据库连接MySQL时报错 django.db.utils.NotSupportedError: MySQL 8 or later is required (found 5.7.36). 百度之后发现是数据库版本太低。(我是找了一个低代码平台一键部署的数据库,版本是5.7.36) 但是又不想安装MySQL8(太麻烦,懒一下。都用低代码平台一键部署了,肯定不想自己安装)

    2024年01月21日
    浏览(60)
  • 数据分析| Pandas200道练习题,使用Pandas连接MySQL数据库

    通过pandas实现数据库的读,写操作时,首先需要进行数据库的连接,然后通过调用pandas所提供的数据库读写函数与方法来实现数据库的读写操作。 Pandas提供了3个函数用于数据库的读操作 read_sql_query() 可以实现对数据库的查询操作,但是不能直接读取数据库中的某个表,需要

    2024年01月16日
    浏览(53)
  • <DB2>《DB2数据库健康检查》第3部分

    检查点: 检查是否需要对表和所有进行runstats 检查方法: 示例: 检查点: 检查是否需要重组reorg 检查方法: ü 示例: 检查点: 查看表是否正常 检查方法: 示例 输出信息说明: □ 输出显示了模式名、表名、状态和表类型。 □ 在 SYSCAT.TABLES 中有项的所有用户定义的表的名

    2024年02月08日
    浏览(43)
  • Learn Mongodb了解DB数据库 ①

    @作者 : SYFStrive   @博客首页 : HomePage 📜: PHP MYSQL 📌: 个人社区(欢迎大佬们加入) 👉: 社区链接🔗 📌: 觉得文章不错可以点点关注 👉: 专栏连接🔗 👉 VUEJS (🔥) 👉 MYSQL (🔥) 👉 微信小程序 (🔥) 👉 MONGODB (🔥) 👉 UNIAPP开发 (🔥) 提示:以下是本篇

    2024年02月11日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包