[mysql]DDL,DML综合案例,

news2024/11/28 2:59:23

综合案例

题目如下

目录

综合案例

​编辑 ​编辑 # 1、创#1建数据库test01_library

 # 2、创建表 books,表结构如下:

  # 3、向books表中插入记录库存

# 4、将小说类型(novel)的书的价格都增加5。

 # 5、将名称为EmmaT的书的价格改为40,并将说明改为drama。

 # 6、删除库存为0的记录。

 # 7、统计书名中包含a字母的书

# 8、统计书名中包含a字母的书的数量和库存总量

# 9、找出“novel”类型的书,按照价格降序排列

# 10、查询图书信息,按照库存量降序排列,如果库存量相同的按照note升序排列

# 11、按照note分类统计书的数量

# 12、按照note分类统计书的库存量,显示库存量超过30本的

# 13、查询所有图书,每页显示5本,显示第二页

# 14、按照note分类统计书的库存量,显示库存量最多的

# 15、查询书名达到10个字符的书,不包括里面的空格

# 16、查询书名和类型,其中note值为novel显示小说,law显示法律,medicine显示医药,cartoon显示卡通,joke显示笑话

# 18、统计每一种note的库存量,并合计总量

# 19、统计每一种note的数量,并合计总量

# 20、统计库存量前三名的图书

# 17、查询书名、库存,其中num值超过30本的,显示滞销,大于0并低于10的,显示畅销,为0的显示需要无货

# 21、找出最早出版的一本书

# 22、找出novel中价格最高的一本书

# 23、找出书名中字数最多的一本书,不含空格


DDL创建数据库,创建表

DML增加删除修改表

我们都讲完了,现在我们来一个综合案例的练习.涉及了我们库和表的创建

# 1、创#1建数据库test01_library

CREATE DATABASE test01_library

USE test01_library

 # 2、创建表 books,表结构如下:

 CREATE TABLE books(

 id INT,

 `name` VARCHAR(50),

 `authors` VARCHAR(100),

 price FLOAT,

 pbudate year,

 note VARCHAR(100),

 num int);

  # 3、向books表中插入记录库存

# 1)不指定字段名称,插入第一条记录

INSERT INTO books

VALUES(1,'Tal of AAA','Dickes',23,1995,'novel',11)

# 2)指定所有字段名称,插入第二记录

INSERT INTO books(id,name,authors,price,pubdate,note,num)

VALUES(2,'EmmaT','Jane lura',35,1993,'joke',22)

# 3)同时插入多条记录(剩下的所有记录)

INSERT INTO books(id,name,authors,price,pubdate,note,num)

VALUES (4, 'Lovey Day', 'George Byron', 20, 2005, 'novel', 30),

       (5, 'Old land', 'Honore Blade', 30, 2010, 'law', 0),

       (6, 'The Battle', 'Upton Sara', 30, 1999, 'medicine', 40),

       (7, 'Rose Hood', 'Richard haggard', 28, 2008, 'cartoon', 28);

# 4、将小说类型(novel)的书的价格都增加5。

UPDATE books SET price=price+5#写更新语句的时候,记得是赋值=,不是直接写price+5

 # 5、将名称为EmmaT的书的价格改为40,并将说明改为drama。

 UPDATE books SET price=40,note='drama' WHERE `name`='EmmaT'

 SELECT * FROM books

 # 6、删除库存为0的记录。(不要运行,写了就好)

 DELETE FROM books WHERE num=0;

 SELECT * FROM books

 #在这之后就是查询的内容了

 # 7、统计书名中包含a字母的书

 SELECT name,COUNT(*) FROM books

 WHERE name like '%a%'

 GROUP BY name

# 8、统计书名中包含a字母的书的数量和库存总量

 SELECT name,COUNT(*),SUM(num) FROM books

 WHERE name like '%a%'

 GROUP BY name

# 9、找出“novel”类型的书,按照价格降序排列

SELECT * FROM books WHERE note='novel' ORDER BY price DESC

# 10、查询图书信息,按照库存量降序排列,如果库存量相同的按照note升序排列

SELECT * FROM books ORDER BY num  DESC,note ASC

# 11、按照note分类统计书的数量

SELECT note,SUM(num) FROM books GROUP BY note

# 12、按照note分类统计书的库存量,显示库存量超过30本的

SELECT note,SUM(num) FROM books GROUP BY note HAVING SUM(num)>30

# 13、查询所有图书,每页显示5本,显示第二页

SHOW TABLES

CREATE TABLE books

AS

SELECT * FROM atguigudb.books

SELECT * FROM books LIMIT 5,5

# 14、按照note分类统计书的库存量,显示库存量最多的

SELECT note,SUM(num) FROM books GROUP BY note ORDER BY SUM(num) DESC LIMIT 0,1

# 15、查询书名达到10个字符的书,不包括里面的空格

SELECT name FROM books WHERE LENGTH(REPLACE(name,' ',''))>=5

# 16、查询书名和类型,其中note值为novel显示小说,law显示法律,medicine显示医药,cartoon显示卡通,joke显示笑话

SELECT name,(CASE note

WHEN 'nobel' THEN '小说'

WHEN 'law' THEN '法律'

WHEN 'medicine' THEN '医药'

WHEN 'cartoon' THEN '卡通'

WHEN 'joke' THEN '笑话'

ELSE '无'

END )

FROM books

#注意这里结尾只要添加end就可以,不用添加end case,navicat的提示是错误的

# 18、统计每一种note的库存量,并合计总量

SELECT note,SUM(num) FROM books GROUP BY note

UNION ALL

SELECT '合计',SUM(num) FROM books

# 19、统计每一种note的数量,并合计总量

SELECT note,COUNT(num) FROM books GROUP BY note

UNION ALL

SELECT '合计',COUNT(num) FROM books

# 20、统计库存量前三名的图书

SELECT name,sum(num) FROM books GROUP BY `name`

ORDER BY sum(num) DESC limit 0,3

# 17、查询书名、库存,其中num值超过30本的,显示滞销,大于0并低于10的,显示畅销,为0的显示需要无货

SELECT `name`,num,CASE WHEN num>30

THEN

              '滞销'

  WHEN num>0 AND num<10 THEN

              '畅销'

       WHEN num=0 THEN

              '无货'

  ELSE

  '平平无奇'

 END

 FROM books

 #注意如果case是范围,不是值的话,case和WHENN就要连在一起.

# 21、找出最早出版的一本书

SELECT * FROM books

WHERE pubdate=(SELECT MIN(pubdate) FROM books )

# 22、找出novel中价格最高的一本书

SELECT * FROM books

WHERE price=(SELECT MAX(price) FROM books )

# 23、找出书名中字数最多的一本书,不含空格

SELECT * FROM books

WHERE LENGTH(replace(name,' ',''))=(SELECT MAX(LENGTH(replace(name,' ',''))) FROM books )

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

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

相关文章

书生实战营第四期-基础岛第三关-浦语提示词工程实践

一、基础任务 任务要求&#xff1a;利用对提示词的精确设计&#xff0c;引导语言模型正确回答出“strawberry”中有几个字母“r”。 1.提示词设计 你是字符计数专家&#xff0c;能够准确回答关于文本中特定字符数量的问题。 - 技能&#xff1a; - &#x1f4ca; 分析文本&…

国药准字生发产品有哪些?这几款不错

头秃不知道怎么选的朋友们看这&#xff0c;基本上市面上火的育发精华我都用了个遍了&#xff0c;陆陆续续也花了有大几w了&#xff0c;都是真金白银总结出来的&#xff0c;所以必须要给掉发人分享一些真正好用的育发产品&#xff0c;大家可以根据自己实际情况来选择。 1. 露卡菲…

构建基于 DCGM-Exporter, Node exporter,PROMETHEUS 和 GRAFANA 构建算力监控系统

目录 引言工具作用概述DCGM-ExporterNode exporterPROMETHEUSGRAFANA小结 部署单容器DCGM-ExporterNode exporterPROMETHEUSGRAFANANode exporterDCGM-Exporter 多容器Node exporterDCGM-ExporterDocker Compose 参考 引言 本文的是适用对象&#xff0c;是希望通过完全基于Doc…

Java入门14——动态绑定(含多态)

大家好&#xff0c;我们今天来学动态绑定和多态&#xff0c;话不多说&#xff0c;开始正题~ 但是要学动态绑定之前&#xff0c;我们要学习一下向上转型&#xff0c;方便后续更好地理解~ 一、向上转型 1.什么是向上转型 网上概念有很多&#xff0c;但其实通俗来讲&#xff0c…

Request 和 Response 万字详解

文章目录 1.Request和Response的概述2.Request对象2.1 Request 继承体系2.2 Request获取请求数据2.2.1 获取请求行数据2.2.2 获取请求头数据2.2.3 获取请求体数据2.2.4 获取请求参数的通用方式 2.3 解决post请求乱码问题 掌握内容讲解内容小结 2.4 Request请求转发 3.HTTP响应详…

Qt QCustomplot 在采集信号领域的应用

文章目录 一、常用的几种开源库:1、QCustomPlot:2、QChart:3、Qwt:QCustomplot 在采集信号领域的应用1、应用实例时域分析频谱分析2.数据筛选和处理其他参考自然界中的物理过程、传感器和传感器网络、电路和电子设备、通信系统等都是模拟信号的来源。通过可视化模拟信号,可以…

【初阶数据结构与算法】沉浸式刷题之顺序表练习(顺序表以及双指针两种方法)

文章目录 顺序表练习1.移除数组中指定的元素方法1&#xff08;顺序表&#xff09;方法2&#xff08;双指针&#xff09; 2.删除有序数组中的重复项方法1&#xff08;顺序表&#xff09;方法2&#xff08;双指针&#xff09; 3.双指针练习之合并两个有序数组方法1&#xff08;直…

机器学习—矩阵乘法

矩阵只是一个或两个数组。 如何在向量之间取点积&#xff1f; 让我们用列向量[1,2]*[[3,4]&#xff0c;如果z是这两个向量之间的点积&#xff0c;然后通过乘以第一个元素来计算z&#xff0c;通过这里的第一个元素&#xff0c;所以是1*3加第二个元素乘以第二个元素即2*4&#…

使用 ADB 在某个特定时间点点击 Android 设备上的某个按钮

前提条件 安装 ADB&#xff1a;确保你已经在计算机上安装了 Android SDK&#xff08;或单独的 ADB&#xff09;。并将其添加到系统环境变量中&#xff0c;以便你可以在命令行中运行 adb。 USB调试&#xff1a;确保 Android 设备已启用 USB 调试模式。这可以在设备的“设置” -…

数据结构之二叉树前序,中序,后序习题分析(递归图)

1.比较相同的树 二叉树不能轻易用断言&#xff0c;因为树一定有空 2.找结点值 3.单值二叉树 4.对称二叉树 5.前序遍历

[CUDA] 将已有的地址空间设置为pinned memory

文章目录 1. cudaHostRegitster的使用构建pinned memory1.1 基本使用1.2 cudaHostRegister 需要设置cudaSetDevice? Reference 1. cudaHostRegitster的使用构建pinned memory 注意使用C申请的内存空间&#xff0c;在进行copy是无法实现流的最大异步性&#xff1b;因此使用cud…

各种数据库介绍

1. 关系型数据库&#xff08;RDBMS&#xff09; MySQL • 特点&#xff1a;开源、免费&#xff0c;社区版功能强大且稳定。支持大量的并发连接&#xff0c;常用于Web应用。 • 适用场景&#xff1a;中小型网站、博客、电商等。 PostgreSQL • 特点&#xff1a;功能丰富&#xf…

ONLYOFFICE 8.2版本评测:超好用办公工具

前言 在技术的快速发展和工作方式的持续演进下&#xff0c;现代办公软件正变得越来越强大和多样化。ONLYOFFICE&#xff0c;作为市场上备受瞩目的一体化办公解决方案&#xff0c;以其全面的文档编辑、表格处理和演示制作功能&#xff0c;满足了用户在不同办公场景下的需求。最…

Python基础学习_01

目录 1、注释 2、数字和数学计算 3、变量 4、字符串 5、打印 6、本节总结 1、注释 • 什么是注释&#xff1f; 1&#xff09;注释就是用自然语言向代码阅读者说明代码的功能和意义 • 注释 1&#xff09;单行注释使用 # 为开头&#xff1b;并且不能换行…

不容错过的电脑监控软件TOP10|电脑屏幕监控软件推荐(收藏)

随着企业对员工管理和数据安全的要求日益提高&#xff0c;电脑监控软件已经成为许多公司确保工作效率、信息保密以及员工行为合规性的重要工具。无论是需要跟踪员工的工作进度&#xff0c;还是防止数据泄露和滥用&#xff0c;选择合适的监控软件至关重要。今天我们为你整理了十…

Python练习10

Python日常练习 题目&#xff1a; 编写程序&#xff0c;输出如下所示图案。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 要求&#xff1a; 使用for循环的方式完成 --------------------------------------------------------- 注意&#xff1a; …

【DM系列】DM 集成 JDBC 开发指南

前言 数据库访问是数据库应用系统中非常重要的组成部分&#xff0c;DM 作为一个通用数据库管理系统&#xff0c;提供了多种数据库访问接口&#xff0c;包括 ODBC、JDBC、DPI 等方式。本开发指南详细介绍了 DM 的各种访问接口、相应开发环境的配置、以及一些开发用例。本指南的主…

长亭那个检测能力超强的 WAF,出免费版啦

告诉你们一个震撼人心的消息&#xff0c;那个检测能力超强的 WAF——长亭雷池&#xff0c;他推出免费社区版啦&#xff0c;体验地址见文末。 八年前我刚从学校毕业&#xff0c;在腾讯做安全研究&#xff0c;看到宇森在 BlackHat 上演讲的议题 《永别了&#xff0c;SQL 注入》 …

Excel 无法打开文件

Excel 无法打开文件 ‘新建 Microsoft Excel 工作表.xlsx",因为 文件格式或文件扩展名无效。请确定文件未损坏&#xff0c;并且文件扩展名与文件的格式匹配。

软件测试学习笔记丨SeleniumPO模式

本文转自测试人社区&#xff0c;原文链接&#xff1a;https://ceshiren.com/t/topic/22525 本文为霍格沃兹测试开发学社的学习经历分享&#xff0c;写出来分享给大家&#xff0c;希望有志同道合的小伙伴可以一起交流技术&#xff0c;一起进步~ 说明&#xff1a;本篇博客基于sel…