【跟晓月学数据库】基于book库的mysql进阶实战

news2024/9/24 9:26:32

前言

上篇文章中,我们已经导入了book库,如果你还没有导入book库,参考:【跟晓月学数据库】使用MySQLdump 对数据导入导出

这篇文章,主要是基于book库的操作,希望对你有用。

🏠个人主页:我是沐风晓月
🧑个人简介:大家好,我是沐风晓月,阿里云社区专家博主😉😉
💕 座右铭: 先努力成长自己,再帮助更多的人 ,一起加油进步🍺🍺🍺
💕欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信😘

在这里插入图片描述

文章目录

  • 前言
  • 查看已经导入的book库的信息
  • 案例实战
  • 总结

查看已经导入的book库的信息

[root@mufeng41 ~]# mysql -p'Root!2#admin'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.7.42 MySQL Community Server (GPL)

Copyright (c) 2000, 2023, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| book               |
| mysql              |
| performance_schema |
| sys                |
| test01             |
| test_db            |
+--------------------+
7 rows in set (0.00 sec)

mysql> 

mysql> use book
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> select * from category;
+---------+---------------+
| bTypeId | bTypeName     |
+---------+---------------+
|       1 | windows应用   |
|       2 | 网站          |
|       3 | 3D动画        |
|       4 | linux学习     |
|       5 | Delphi学习    |
|       6 | 黑客          |
|       7 | 网络技术      |
|       8 | 安全          |
|       9 | 平面          |
|      10 | AutoCAD技术   |
+---------+---------------+
10 rows in set (0.00 sec)

查看表结构

mysql> desc books;
+------------+------------------------------------------------+------+-----+---------+----------------+
| Field      | Type                                           | Null | Key | Default | Extra          |
+------------+------------------------------------------------+------+-----+---------+----------------+
| bId        | int(4)                                         | NO   | PRI | NULL    | auto_increment |
| bName      | varchar(255)                                   | YES  |     | NULL    |                |
| bTypeId    | enum('1','2','3','4','5','6','7','8','9','10') | YES  |     | NULL    |                |
| publishing | varchar(255)                                   | YES  |     | NULL    |                |
| price      | int(4)                                         | YES  |     | NULL    |                |
| pubDate    | date                                           | YES  |     | NULL    |                |
| author     | varchar(30)                                    | YES  |     | NULL    |                |
| ISBN       | varchar(255)                                   | YES  |     | NULL    |                |
+------------+------------------------------------------------+------+-----+---------+----------------+
8 rows in set (0.00 sec)


mysql> desc category;
+-----------+-------------+------+-----+---------+----------------+
| Field     | Type        | Null | Key | Default | Extra          |
+-----------+-------------+------+-----+---------+----------------+
| bTypeId   | int(4)      | NO   | PRI | NULL    | auto_increment |
| bTypeName | varchar(40) | YES  |     | NULL    |                |
+-----------+-------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)

mysql> 

案例实战

  1. 查询价格大于50的图书名称和作者。
mysql> SELECT bName, author
    -> FROM books
    -> WHERE price > 50;
  1. 查询出版社为"电脑爱好者杂志社"的图书信息,包括图书名称、作者和出版日期。
SELECT bName, author, pubDate
FROM books
WHERE publishing = '电脑爱好者杂志社';
  1. 查询类别为"网站"的图书数量。
SELECT COUNT(*) AS book_count
FROM books
WHERE bTypeId IN (SELECT bTypeId FROM category WHERE bTypeName = '网站');
  1. 查询每个类别的平均价格,并按照平均价格降序排列。
SELECT c.bTypeName, AVG(b.price) AS avg_price
FROM category c
JOIN books b ON c.bTypeId = b.bTypeId
GROUP BY c.bTypeName
ORDER BY avg_price DESC;
  1. 查询发布日期在2022年1月1日到2022年12月31日之间的图书信息,包括图书名称和发布日期。
SELECT b.bName, b.pubDate, c.bTypeName
FROM books b
JOIN category c ON b.bTypeId = c.bTypeId
WHERE b.pubDate BETWEEN '2021-01-01' AND '2021-12-31' AND c.bTypeName = '网站';
  1. 查询价格在指定范围内(40-50),并且出版社为"航空工业出版社"的图书信息,包括图书名称、价格和出版社。
mysql> SELECT bName, price, publishing
    -> FROM books
    -> WHERE price BETWEEN 40 AND 50 AND publishing = '航空工业出版社';
+-----------------------+-------+-----------------------+
| bName                 | price | publishing            |
+-----------------------+-------+-----------------------+
| 黑客与网络安全        |    41 | 航空工业出版社        |
+-----------------------+-------+-----------------------+
1 row in set (0.00 sec)

  1. 插入信息:
    要向 “books” 表中增加一行数据,符合以下要求:

bTypeId:4
bTypeName:linux技术
bName=linux大全
publishing:互联网老辛出品
author:沐风晓月
pubDate:2023-03-27
price:88
ISBN:200001

INSERT INTO books (bTypeId, bName, publishing, price, pubDate, author, ISBN)
VALUES (4, 'linux大全', '互联网老辛出品', 88, '2023-03-27', '沐风晓月', '200001');
  1. 查询某个特定作者的图书信息:
mysql> SELECT bName, price, pubDate
    -> FROM books
    -> WHERE author = '沐风晓月';
+--------------+-------+------------+
| bName        | price | pubDate    |
+--------------+-------+------------+
| 填写书名     |    88 | 2023-03-27 |
| linux大全    |    88 | 2023-03-27 |
+--------------+-------+------------+
2 rows in set (0.01 sec)

  1. 查询所有图书的信息及其对应的出版社,包括图书名称、作者和出版社名称。如果某个图书没有对应的出版社,则显示为null。
SELECT b.bName, b.author, p.publishing
FROM books b
RIGHT JOIN publishing p ON b.publishingId = p.publishingId;

总结

关于MySQL的进阶实战,你学会了吗,欢迎评论区留言一起探讨。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/689488.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在vue项目开发中使用tailwindcss样式

在vue项目中下载tailwindcss依赖 yarn add tailwindcss1.4.6ornpm i tailwindcss1.4.6新建一个tailwind.css文件 在src文件夹下的asset静态资源文件夹中创建一个css样式文件夹,然后在该css文件夹下创建一个tailwind.css文件,并在文件中写入如下代码 使用…

xss-labs靶场level1~5

参考资料: XSS常见的触发标签_可以触发xss的标签_H3rmesk1t的博客-CSDN博客 基础知识: XSS漏洞的定义: 跨站脚本攻击XSS(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩…

android 添加图片 error 使用

安卓开发在drawable文件夹下如何插入后缀为xhdpi xxxhdpi 的图片 1:copy图片进drawable文件夹时,在路径后面加上“-xhdpi” 2.直接在drawable文件夹下新建一个drawable-xhdpi文件夹,你再添加图片的时候就会让你选择将图片具体放到哪个文件夹下…

高速电路设计系列分享-熟悉JESD204B(上)

目录 概要 整体架构流程 技术名词解释 技术细节 1.应用层 2.传输层 小结 基本概要 随着高速ADC跨入GSPS范围,与FPGA(定制ASIC)进行数据传输的首选接口协JESD204B。为了捕捉频率范围更高的RF频谱,需要宽带RFADC。在其推动下,对于能够捕捉更宽带…

Tomcat【管理页面】

管理页面的功能 server status :图形化管理、查看页面状态Manager app:图像化添加、创建、部署、删除项目目录host manager:图形化创建、管理、删除虚拟主机 默认安装tomcat需要配置以后才能使用 配置conf/tomcat-users.xml [rootnginx ROO…

网络通信性能测试方法-iperf、ping

1 iperf工具下载安装 根据板卡类型,选择合适的iperf软件版本下载 (ARM64) wget https://iperf.fr/download/ubuntu/iperf3_3.1.3-1_arm64.deb 根据提示下载依赖 wget https://iperf.fr/download/ubuntu/libiperf0_3.1.3-1_arm64.deb 下载后使用命令sudo dpkg -i xxx.deb …

黑河学院ASP.NET程序设计大作业(3)--登录及账号密码的CURD

目录 一、效果: 二、代码分布: 三、介绍 1.添加用户 2.删除用户: 3.修改密码: 四、遇到的问题: 一、效果: 二、代码分布: 三、介绍 1.添加用户 判断是否是管理员,只有管理员才可以…

chatgpt赋能python:用Python计算圆周率的两种方法

用Python计算圆周率的两种方法 圆周率(π)是一个非常重要的数学常数,被广泛应用于数学、计算机科学和工程学中。本文将介绍两种使用Python计算圆周率的方法:蒙特卡罗方法和Bailey–Borwein–Plouffe算法。 蒙特卡罗方法 蒙特卡…

C++笔记之字符指针和字符数组的区别

C笔记之字符指针char*和字符数组char[]的区别 code review! 文章目录 C笔记之字符指针char\*和字符数组char[]的区别1.char \[]和char \*的区别2.char\[]和char\*如何相互转换3.char\*,char\[ ],char\[20] 是字符串还是数组,哪一种长度是固定的?4.字符…

【软考网络管理员】2023年软考网管初级常见知识考点(20)- Web服务器配置

涉及知识点 网站的基本配置,虚拟目录的配置,Web服务器配置,虚拟主机的配置,站点安全的设置,HTTPS网站的配置,软考网络管理员常考知识点,软考网络管理员网络安全,网络管理员考点汇总…

利用Django路由项的别名(name)对路由进行反向解析

在Django的函数path()中,可以给一条路由进行命名,然后在视图函数或模板HTML文件中进行调用,这样的好处是:只要路由的name不变,那么修改了URL具体的路由,也不用去更改视图函数或模板HTML中的相关代码&#x…

Redis7【① 概述 安装 配置】

1. Redis入门概述 1. Redis是什么 Redis全称 远程字典服务器(Remote Dictionary Server),它是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的基于内存的Key-Value数据库,提供了丰富的数据结构&…

基于VMD-SSA-LSTM的多维时序光伏功率预测MATLAB程序

基于VMD-SSA-LSTM的多维时序光伏功率预测MATLAB程序资源-CSDN文库https://download.csdn.net/download/weixin_56691527/87950148参考文献: 《基于VMD-SSA-LSSVM的短期风电预测》 《基于改进鲸鱼优化算法的微网系统能量优化管理》 主要内容: 融合了两…

计算机毕业论文内容参考|基于Android的国际酒店预订APP的设计与实现

文章目录 导文摘要:前言:绪论:课题背景国内外现状与趋势课题内容相关技术与方法介绍:系统分析:系统设计:系统实现:系统测试:本文总结后续工作展望导文 计算机毕业论文内容参考|基于Android的国际酒店预订APP的设计与实现 摘要: 随着人们生活水平的提高和旅游业的迅速…

黑河学院ASP.NET程序设计大作业(2)--分页、列表和详细页

目录 一、建立数据库: 二、连接数据库: 三、获取所有的列表 四、实现分页 五、实现列表页和详细页的绑定 六、项目难点 一、建立数据库: 1.adminss表 2.columnss表设计及内容 3.messagess表设计及内容 二、连接数据库: 文件中A…

智能风扇语音控制新方案,高品质语音识别芯片NRK3303

随着人工智能技术的发展,人们可以使用语音助手随时随地进行语音控制电子设备。而针对风扇这种家居电器,智能语音控制的方案相对成熟,受到了越来越多用户的青睐。为了更好地提升用户体验,新一代智能风扇方案引进了语音识别芯片技术…

maven 导入本地jar、maven 安装本地jar

方式一、 将jar放入本地任意目录(不推荐) pom.xml <!-- groupId&#xff1a;cn.myCompany.myCommon 规则&#xff1a;公司性质.公司名.项目名或其它artifactId&#xff1a;jar包 自定义ID&#xff0c;通常与jar包名同名&#xff1b;pom通过groupIdartifactIdversion找到mav…

chatgpt赋能python:Python虚拟环境管理:让你的项目更加独立和可靠

Python虚拟环境管理&#xff1a;让你的项目更加独立和可靠 什么是Python虚拟环境? Python虚拟环境&#xff08;Virtual Environment&#xff09;是一种Python环境隔离的机制&#xff0c;它可以让你在同一个操作系统上创建多个Python环境&#xff0c;互不干扰。这意味着你可以…

【MATLAB第48期】基于MATLAB的REMR-LSTM多次循环递归拓展理论的长短期记忆网络LSTM回归预测模型,PCA预处理降维

【MATLAB第48期】基于MATLAB的REMR-LSTM多次循环递归拓展理论的长短期记忆网络LSTM回归预测模型&#xff0c;PCA预处理降维 在本文中&#xff0c;将展示一个使用多次循环递归拓展&#xff08;REMR&#xff09;理论来改进LSTM回归预测问题。 通过多次循环&#xff0c;优化训练集…

Linux下的tmux的使用

0.前言 您好&#xff0c;这里是limou3434&#xff0c;本次我将给您带来Linux下tmux的使用。 如果您感兴趣也可以看看我的其他内容。 1.tmux的基础概念 tmux是一款在Linux里运行在终端上的软件&#xff0c;可以使得终端具有强大的多任务管理功能&#xff08;以下是在Ubuntu环…