当前位置: 首页 > news >正文

SQL语句练习

阅读《SQL必知必会》(第五版)然后结合往常表做的练习记录

这里使用的数据库时sqlite3,使用的工具时navicat

表资源链接https://wenku.baidu.com/view/349fb3639b6648d7c1c74652.html

表录入后如上图所示。后面如果有多张表之间的操作,在引入新的表。

1、查找当前表中所有的名字

SELECT 姓名 FROM student;

2、查找当前表中所有的名字和其对应的语文分数

SELECT 姓名,语文 FROM student;

3、查找表中的所有数据

SELECT * FROM student;

4、查找考试中出现的所有类型的语文分数

SELECT DISTINCT 语文 FROM student;

5、 查找这次考试语文的前5名

SELECT 姓名 ,语文 FROM student ORDER BY 语文 DESC LIMIT 5 ;

6、查找当前表中从第五行开始向后面数五行

SELECT * FROM student LIMIT 5 OFFSET 5 ;

7、在SQL语句中添加注释

SELECT * FROM student LIMIT 5 OFFSET 5 ;  --这是一条注释

8、查找表数据并根据语文排列

SELECT * FROM student ORDER BY 语文;

上面这段SQL语句为从小到大的顺序排列,下面展示分数从大到小的顺序排列

9、查找表并根据语文排列,分数高的在前面

SELECT * FROM student ORDER BY 语文 DESC;

10、查找表并根据语文排分,如果语文相同则数学分数高的排在前面

SELECT * FROM student ORDER BY 语文 DESC, 数学 DESC;

也可以根据语文和数学的列顺序编写SQL语句,观察上面的表,语文在第四列,数学在第五列

SELECT * FROM student ORDER BY 4 DESC, 5 DESC;

11、查找显示语文不及格的学生姓名

SELECT 姓名,语文 FROM student WHERE 语文 < 60;

上面这条语句使用了操作符< 书中给出了更多的操作符

比如查找语文分数在90到100之间的学生

SELECT 姓名,语文 FROM student WHERE 语文 BETWEEN 90 AND 100;

12、查找显示语文分数大于90并且数学分数也大于90

SELECT 姓名,语文,数学 FROM student WHERE 语文 > 90 AND 数学 > 90;

13、查找显示语文分数大于90或者数学分数大于90

SELECT 姓名,语文,数学 FROM student WHERE 语文 > 90 OR 数学 > 90;

14、查找显示语文分数大于90或者数学分数大于90并且满足前面两个条件后英语分数大于90

一开始使用如下代码查询

SELECT 姓名,语文,数学,英语 FROM student WHERE 语文 > 90 OR 数学 > 90 AND 英语 > 90;

结果如下

观察发现,89这个结果并不符合查找意图,这个是书中的一个知识点,SQL语句中也有运算优先级,AND的优先级大于OR,所以SQL语句应改为下面

SELECT 姓名,语文,数学,英语 FROM student WHERE (语文 > 90 OR 数学 > 90) AND 英语 > 90;

 使用()提高其优先级

结果如下

15、挑选语文分数等于98和100的信息

SELECT 姓名,语文,数学,英语 FROM student WHERE 语文 IN(100,98);

结果如下

16、挑选语文分数不等于100的信息

SELECT 姓名,语文 FROM student WHERE NOT 语文 = 100 ORDER BY 语文 DESC;

结果如下

上面使用NOT排除了语文分数等于100的数据

17、查找王姓的数据

SELECT 姓名,语文 FROM student WHERE 姓名 LIKE '王%';

上面使用 LIKE进行搜索,然后使用%进行模糊查询,后面可以是0-n个字符。%通配符仅能用于文本字段(字符串)的搜索。

结果如下

18、 查找语文+数学+英语的总成绩做为排序

SELECT 姓名 || '(' || (语文 + 数学 + 英语)  || ')' AS 总成绩 FROM student ORDER BY (语文+数学+英语) DESC;

       结果如下

上面操作使用了计算字段,在进行数据计算的时候使用()将其包裹起来,使用AS重命名显示

19、查找学号等于5的学生的所有信息

SELECT * FROM student WHERE 学号 = 5;

20、继续上面的操作,但是计算出其总成绩

SELECT * , (语文 + 数学 + 英语 + 信息技术 + 体育) AS 总成绩 FROM student WHERE 学号 = 5;

21、现在这次考试的成绩占比为60%,显示占比后的成绩

SELECT * , (语文 + 数学 + 英语 + 信息技术 + 体育)* 0.6 AS 折分后总成绩 FROM student WHERE 学号 = 5;

输出

22、SQL语句中使用函数

 

    

23、显示语文的平均分数

SELECT AVG(语文) AS 语文平均分 FROM student;

输出

24、查询当前表中的所有人数

SELECT COUNT(*) AS 人数 FROM student;

输出

25、返回参加语文考试的人数

下面将语文的分数设为Null表示未参加考试,然后使用SQL语句显示参加语文考试的人数

SELECT COUNT(语文) AS 人数 FROM student;

 输出:

26、返回语文分数的最大值

SELECT MAX(语文) AS 语文最高分 FROM student;

27、返回语文分数的最小值

SELECT MIN(语文) AS 语文最低分 FROM student;

 

28、返回语文这一列所有分数的总和

SELECT SUM(语文) AS 语文分数总和 FROM student;

输出

 

29、使用一条语句返回语文考试人数,语文最高分,语文最低分,语文平均分

SELECT SUM(语文) AS 语文分数总和 ,
MAX(语文) AS 语文最高分,
MIN(语文) AS 语文最低分,
AVG(语文) AS 语文平均分FROM student;

输出

上面代码使用了组合聚集函数,用单条语句执行了4个聚集计算,返回四个值

30、创建分组

以语文分数为分组,显示每种分数的人数

SELECT 语文, COUNT(*) AS 考试人数 FROM student GROUP BY 语文 ORDER BY 语文 DESC;

 输出如下

上面这段SQL语句使用了GROUP BY, “因为使用了GROUP BY,就不必指定要计算和估值的每个组,系统会自动完成。GROUP BY子句知识DBMS分组数据,然后对每个组而不是整个结果集进行聚集。”

31、使用SQL语句显示 语文,数学,英语相加的总分数,并显示各个分数的人数

SELECT (语文 + 数学 + 英语) AS 考试总分数 , COUNT(*) AS 分数总人数 FROM student GROUP BY (语文 + 数学 + 英语) ORDER BY 考试总分数 DESC;

使用了GROUP BY,所以会进行分组 ,GROUP BY使用的一些规定如下

32、过滤分组

使用HAVING子句过滤,HAVING非常类似于WHERE。唯一的差别是WHERE过滤行,HAVING过滤分组。

下面使用HAVING子句,在上面例子30的基础上挑选出分组人数 >= 2的数据。

SELECT (语文 + 数学 + 英语) AS 考试总分数 , COUNT(*) AS 分数总人数 FROM student GROUP BY (语文 + 数学 + 英语) HAVING COUNT(*) >= 2 ORDER BY 考试总分数 DESC;

33、筛选分组总分数>= 260分的总人数

SELECT (语文 + 数学 + 英语) AS 考试总分数 , COUNT(*) AS 分数总人数 FROM student WHERE 考试总分数 >= 260 GROUP BY (语文 + 数学 + 英语) HAVING COUNT(*) >= 2 ORDER BY 考试总分数 DESC;

输出如下

34、上面的查询都是基于单个表,下面开始使用多表查询

引入一张新表

学生所属的班级,表数据使用学号更严谨,因为没有重名,这里先使用姓名

需求,查询student表中语文分数为100的学生所属的班级,SQL语句如下

SELECT 姓名,班级 FROM class WHERE 姓名 IN(SELECT 姓名 FROM student WHERE 语文 = '100');

输出如下

这段sql语句使用了子查询,子查询语句是

SELECT 姓名 FROM student WHERE 语文 = '100';

 输出结果是

所以上面的语句也等效于

SELECT 姓名,班级 FROM class WHERE 姓名 IN('张平光','赵永敏');

输出结果是

 

35、查询住校的同学的语文分数

SELECT 姓名,语文 FROM student where 姓名 IN (SELECT student."姓名" FROM student INNER JOIN dormitory WHERE student."姓名" = dormitory."姓名");

输出结果如下 

36、查询student表中的姓名和dormitory表中的姓名是否相同,如果相同设为住校,如果不相同设为不住校

SELECT student."姓名",CASE WHEN EXISTS (SELECT 1 FROM dormitory WHERE dormitory."姓名" = student."姓名") THEN '住校'ELSE '不住校'END AS 住校状态
FROM student;

输出

37、只显示住校的名单

SELECT student."姓名",'住校' AS 住校状态 			--硬编码为住校,因为通过下面通过WHERE过滤过了
FROM student
WHERE EXISTS (SELECT 1 FROM dormitory WHERE dormitory."姓名" = student."姓名");

相关文章:

SQL语句练习

阅读《SQL必知必会》&#xff08;第五版&#xff09;然后结合往常表做的练习记录 这里使用的数据库时sqlite3,使用的工具时navicat 表资源链接https://wenku.baidu.com/view/349fb3639b6648d7c1c74652.html 表录入后如上图所示。后面如果有多张表之间的操作&#xff0c;在引入…...

保姆级教程Docker部署RabbitMQ镜像

目录 1、创建挂载目录 2、运行RabbitMQ容器 3、Compose运行RabbitMQ容器 4、开启界面插件 5、查看RabbitMQ运行状态 6、常见问题处理 1、创建挂载目录 # 创建宿主机rabbitMQ挂载目录 sudo mkdir -p /data/docker/rabbitmq/log# 修改log目录权限 sudo chmod 777 /data/do…...

P6打卡—Pytorch实现人脸识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 1.检查GPU import torch import torch.nn as nn import matplotlib.pyplot as plt import torchvisiondevicetorch.device("cuda" if torch.cuda.is_…...

clickhouse-介绍、安装、数据类型、sql

1、介绍 ClickHouse是俄罗斯的Yandex于2016年开源的列式存储数据库&#xff08;DBMS&#xff09;&#xff0c;使用C语言编写&#xff0c;主要用于在线分析处理查询&#xff08;OLAP&#xff09;&#xff0c;能够使用SQL查询实时生成分析数据报告。 OLAP&#xff08;On-Line A…...

基于单片机的智能婴儿床监护系统多功能婴儿床摇篮系统

功能介绍 以STM32单片机为控制核心蓝牙传输控制可以进行哭闹检测、尿床检测、音乐播放、语音提醒、哭闹时可以进行摇床有不同的模式自动模式和睡眠模式 实物可做&#xff0c;其他功能也可以 电路图 PCB 源代码 u8 Temperature_High; //室内温度高阈值 u8 Temperature_…...

微服务??

1、微服务架构的定义是什么&#xff1f; 微服务架构是一种将应用程序拆分为多个小型、独立服务的架构风格&#xff0c;每个服务专注于完成特定功能&#xff0c;通过轻量级通信协议&#xff08;如HTTP/REST、gRPC&#xff09;进行协作。 2、微服务和单体架构有哪些主要区别&am…...

14-zookeeper环境搭建

0、环境 java&#xff1a;1.8zookeeper&#xff1a;3.5.6 1、下载 zookeeper下载点击这里。 2、安装 下载完成后解压&#xff0c;放到你想放的目录里。先看一下zookeeper的目录结构&#xff0c;如下图&#xff1a; 进入conf目录&#xff0c;复制zoo_sample.cfg&#xff0…...

计算机网络 八股青春版

什么是HTTP&#xff1f;HTTP和HTTPS的区别 HTTP HTTP是超文本运输协议&#xff0c;是一种无状态&#xff08;每次请求都是独立的&#xff09;的应用层协议。用于在客户端和服务器之间传输超文本数据&#xff08;如HTML文件&#xff09;。默认端口是80数据以明文形式传输&#…...

快速解决oracle 11g中exp无法导出空表的问题

在一些生产系统中&#xff0c;有些时候我们为了进行oracle数据库部分数据的备份和迁移&#xff0c;会使用exp进行数据的导出。但在实际导出的时候&#xff0c;我们发现导出的时候&#xff0c;发现很多空表未进行导出。今天我们给出一个快速解决该问题的办法。 一、问题复现 我…...

Unity 6 Preview(预览版)新增功能

原文链接&#xff1a;Unity - 手册&#xff1a;Unity 6 预览版中的新增功能 目录 原文链接&#xff1a;Unity - 手册&#xff1a;Unity 6 预览版中的新增功能 编辑器和工作流程 UI 工具包 实体 图形 URP HDRP &#xff08;HDRP&#xff09; 多人游戏 游戏对象的 Netc…...

Halcon单相机+机器人=眼在手上#标定心得

首先&#xff0c;这个标定板肯定是放在我们要作业的工作台上的 目的 **1&#xff0c;得到标定物&#xff08;工作台&#xff09;与机器人底座之间的pose转换关系。2&#xff0c;得到相机与机器人末端tool的的转换关系。 两个不确定的定量 1&#xff0c;标定板与机器人底座b…...

Django 模板分割及多语言支持案例【需求文档】-->【实现方案】

Django 模板分割及多语言支持案例 这个案例旨在提供一个清晰的示范&#xff0c;展示如何将复杂的页面分解为多个可复用的模板组件&#xff0c;使代码更加模块化和易于管理。希望这篇案例文章对你有所帮助。 概述 在 Django 项目开发中&#xff0c;使用模板分割和多语言支持能…...

【hackmyvm】Diophante 靶场

1. 基本信息^toc 这里写目录标题 1. 基本信息^toc2. 信息收集2.1. 端口扫描2.2. 目录扫描2.3. knock 3. WordPress利用3.1. wpscan扫描3.2. smtp上传后门 4. 提权4.1. 提权leonard用户4.2. LD劫持提权root 靶机链接 https://hackmyvm.eu/machines/machine.php?vmDiophante 作者…...

基于MATLAB的图像增强

&#x1f351;个人主页&#xff1a;Jupiter. &#x1f680; 所属专栏&#xff1a;传知代码 欢迎大家点赞收藏评论&#x1f60a; 目录 一、背景及意义介绍背景图像采集过程中的局限性 意义 二、概述三、代码结构及说明&#xff08;一&#xff09;整体结构&#xff08;二&#xf…...

P10425 [蓝桥杯 2024 省 B] R 格式

题目描述&#xff1a; 小蓝最近在研究一种浮点数的表示方法&#xff1a;R 格式。对于一个大于 00 的浮点数 d&#xff0c;可以用 R 格式的整数来表示。给定一个转换参数 n&#xff0c;将浮点数转换为 R 格式整数的做法是&#xff1a; 将浮点数乘以 2^n。四舍五入到最接近的整…...

《软件工程文档攻略:解锁软件开发的“秘籍”》

《软件工程文档攻略&#xff1a;解锁软件开发的“秘籍”》 一、引言&#xff08;一&#xff09;简述软件工程文档的重要地位 二、软件文档的分类及作用&#xff08;一&#xff09;按形式分类1. 工作表格2. 文档或文件 &#xff08;二&#xff09;按产生和使用范围分类1. 开发文…...

Python从0到100(七十八):神经网络--从0开始搭建全连接网络和CNN网络

前言&#xff1a; 零基础学Python&#xff1a;Python从0到100最新最全教程。 想做这件事情很久了&#xff0c;这次我更新了自己所写过的所有博客&#xff0c;汇集成了Python从0到100&#xff0c;共一百节课&#xff0c;帮助大家一个月时间里从零基础到学习Python基础语法、Pyth…...

sqlilabs靶场二十一关二十五关攻略

第二十一关 第一步 可以发现cookie是经过64位加密的 我们试试在这里注入 选择给他编码 发现可以成功注入 爆出表名 爆出字段 爆出数据 第二十二关 跟二十一关一模一样 闭合换成" 第二十三关 第二十三关重新回到get请求&#xff0c;会发现输入单引号报错&#xff0c…...

时间管理系统|Java|SSM|JSP|

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、JSP、jquery,html 5⃣️数据库可…...

长轮询DeferredResult原理

DeferredResult常用来实现客户端长轮询&#xff0c;可以将异步处理的结果在特定时间内&#xff08;如果设置了超时时间&#xff09;返回给客户端。 Slf4j RestController RequestMapping("/demo") public class DemoDeferredResult {GetMapping("/deferredResu…...

TouchGFX移植(5)增加触屏驱动

一&#xff09;增加驱动代码gt9xxx.c和ctiic.c到工程中的BSP目录下: 二&#xff09;更改触摸文件STM32TouchController.cpp 1&#xff09;在STM32TouchController.cpp文件中增加&#xff1a; #include “gt9xxx.h” 2&#xff09;增加gt9xxx_init(); void STM32TouchControlle…...

(九)腾讯cloudstudio(ubuntu)+akiaaa大神 Stable Diffusion整合包 AI绘画教程

一、说明 在网上转了一圈&#xff0c;发现确实akiaaa大神的整合包不错&#xff0c;看看这界面就比我前面的流弊多了&#xff0c;后面我们就要把这个界面一步一步干出来 二、环境准备 这里和前面的一样 &#xff08;七&#xff09;腾讯cloudstudioStable-Diffusion-webui AI绘…...

设计模式-访问者设计模式

介绍 访问者模式&#xff08;Visitor&#xff09;&#xff0c;表示一个作用于某对象结构中的各元素的操作&#xff0c;它使你可以在不改变个元素的类的前提下定义作用于这些元素的新操作。 问题&#xff1a;在一个机构里面有两种员工&#xff0c;1.Teacher 2.Engineer 员…...

深度学习实战车辆目标跟踪【bytetrack/deepsort】

本文采用YOLOv8作为核心算法框架&#xff0c;结合PyQt5构建用户界面&#xff0c;使用Python3进行开发。YOLOv8以其高效的实时检测能力&#xff0c;在多个目标检测任务中展现出卓越性能。本研究针对车辆目标数据集进行训练和优化&#xff0c;该数据集包含丰富的车辆目标图像样本…...

lammps中EDGE、INF、NULL等常量的含义

在lammps命令中,有几个比较常见的量:EDGE、INF、NULL,不少初学者不知道什么意思,本文详细介绍一下这几个量的含义及用法。 1. EDGE EDGE表示当前box的边界,常用到需要设置坐标的命令中,如region、fix wall/reflect。 EDGE仅表示当前box边界的坐标值,当box尺寸发生变化后…...

Mono里建立调试C#脚本运行环境

前面已经介绍了怎么样来执行一个嵌入式的脚本框架, 这个框架是mono编写的一个简单的例子。 如果不清楚,可以参考前文: https://blog.csdn.net/caimouse/article/details/144632391?spm=1001.2014.3001.5501 本文主要来介绍一下,我们的C#脚本是长得怎么样的,它大体如下…...

241221面经

1&#xff0c;JVM 的实现中堆、栈和方法区的区别是什么&#xff1f; 堆&#xff08;Heap&#xff09; 功能 堆是 JVM 内存中最大的一块&#xff0c;主要用于存储对象实例。无论是通过new关键字创建的对象&#xff0c;还是数组&#xff0c;都在堆上分配内存。它是被所有线程共享…...

【论文复刻】新型基础设施建设是否促进了绿色技术创新的“量质齐升”—来自国家智慧城市试点的证据(C刊《中国人口·资源与环境》

一、数据来源&#xff1a;住建部、国家知识产权局、中国城市统计年鉴&#xff0c;内含原始数据、处理代码和基准回归 二、数据范围&#xff1a; DID 为了延长政策效应估计的时间区间&#xff0c;将住建部公布的首批国家智慧城市作为处理组&#xff0c;非试点城市作为对照组。将…...

libreoffice表格python宏教程 一

一、安装python宏扩展 LibreOffice自带了一个宏编辑器&#xff0c;但是只能用basic语言&#xff0c;无法用Python。 所以&#xff0c;我们必须在单独的编辑器中编写Python代码。 需要安装apso扩展&#xff0c;此扩展可以创建删除管理python宏文件&#xff0c;同时还能设置偏好…...

C/C++语言基础--C++STL库之仿函数、函数对象、bind、function简介

本专栏目的 更新C/C的基础语法&#xff0c;包括C的一些新特性 前言 STL无疑是C史上一个重要的发明&#xff0c;未来我将更新STL有关的知识点&#xff0c;入门绝对够了(看目录就知道了&#x1f440;)这是第二篇&#xff0c;讲仿函数C语言后面也会继续更新知识点&#xff0c;如…...

前端导出PDF的组件及方法

前端导出PDF的组件及方法 在Web应用程序中&#xff0c;导出PDF文件是一项常见的需求。无论是为了打印、分享还是存档&#xff0c;能够将网页内容转换为PDF格式都非常有用。幸运的是&#xff0c;前端开发者有多种方法和组件可以实现这一功能。在本文中&#xff0c;我们将详细介…...

大数据-256 离线数仓 - Atlas 数据仓库元数据管理 正式安装 启动服务访问 Hive血缘关系导入

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; Java篇开始了&#xff01; 目前开始更新 MyBatis&#xff0c;一起深入浅出&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff0…...

水文知识图谱构建-学习+代码

文章目录 水文模型知识图谱构建与应用&#xff08;核心&#xff09;面向水利防汛抢险的知识图谱构建与应用知识图谱在水利工程中的构建与应用代码 水文模型知识图谱构建与应用&#xff08;核心&#xff09; 水文模型知识图谱构建与应用 题目&#xff1a;水文模型知识图谱构建…...

python rabbitmq实现简单/持久/广播/组播/topic/rpc消息异步发送可配置Django

windows首先安装rabbitmq 点击参考安装 1、环境介绍 Python 3.10.16 其他通过pip安装的版本(Django、pika、celery这几个必须要有最好版本一致) amqp 5.3.1 asgiref 3.8.1 async-timeout 5.0.1 billiard 4.2.1 celery 5.4.0 …...

clickhouse优化记录

一、注重使用分区键来加快查询 在大数据量的情况下&#xff0c;如果查询语句中&#xff0c;可以使用分区键来进行查询&#xff0c;可以极大缩小数据的查询范围&#xff0c;加快查询速度。 二、使用order by的列&#xff0c;适用最左前缀匹配原则 比如表的结构是 order by(id…...

RabbitMQ如何构建集群?

大家好&#xff0c;我是锋哥。今天分享关于【RabbitMQ如何构建集群&#xff1f;】面试题。希望对大家有帮助&#xff1b; RabbitMQ如何构建集群&#xff1f; 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在RabbitMQ中&#xff0c;集群&#xff08;Cluster&#x…...

Python解压tar压缩文件

import tarfile import os# 解压文件def untar(self, log_tar_file, destination_dir):# 打开tar文件tar_file_path for tar_file_path in glob.glob(os.path.join(log_tar_file, **/*.tar), recursiveTrue):print(日志压缩文件&#xff1a;,tar_file_path)if ! tar_file_pat…...

Mac升级macOS 15 Sequoia后,无法ssh连接本地虚拟机

现象 macOS 15后&#xff0c;无法ssh连接本地启动的虚拟机&#xff0c;提示错误&#xff1a; No route to host&#xff0c;也ping不通。包括UTM、Parallels Desktop这两个虚拟机软件。之前都是没问题的&#xff0c;通过一些简单排查&#xff0c;目前没发现什么问题。 在虚拟…...

Unity录屏插件-使用Recorder录制视频

目录 1.Recorder的下载 2.Recorder面板 2.1常规录制属性 2.2录制器配置 2.2.1添加录制器 2.2.2配置Input属性 2.2.3配置 Output Format 属性 2.2.4配置 Output File 属性 3.Recorder的使用 3.1录制Game View视频 3.1.1Recorder配置与场景搭建 3.1.2开始录制 3.1.3…...

[ESP]从零开始的Arduino IDE安装与ESP环境配置教程

一、前言 最近也是在比赛方面比较忙&#xff0c;没有更多的时间和精力去更新长文章了。这几周都更倾向于环境搭建的教程&#xff0c;这类教程写起来确实方便&#xff0c;也不怎么费时间&#xff0c;一个下午基本可以搞定&#xff0c;哈哈&#xff0c;我保证不是在为自己想摆烂找…...

重拾设计模式--状态模式

文章目录 状态模式&#xff08;State Pattern&#xff09;概述状态模式UML图作用&#xff1a;状态模式的结构环境&#xff08;Context&#xff09;类&#xff1a;抽象状态&#xff08;State&#xff09;类&#xff1a;具体状态&#xff08;Concrete State&#xff09;类&#x…...

2024年全球办公键盘行业总体规模、主要企业国内外市场占有率及排名

根据QYResearch研究团队调研统计&#xff0c;2023年全球办公键盘市场销售额达到了 亿元&#xff0c;预计2030年将达到 亿元&#xff0c;年复合增长率&#xff08;CAGR&#xff09;为 %&#xff08;2024-2030&#xff09;。中国市场在过去几年变化较快&#xff0c;2023年市场规模…...

ThreadLocal用法详解

ThreadLocal 是 Java 中的一个类&#xff0c;它提供了线程局部变量的功能。线程局部变量是线程隔离的&#xff0c;每个使用该变量的线程都有其自己的变量副本&#xff0c;因此每个线程可以操作自己的线程局部变量&#xff0c;而不会和其他线程冲突。 以下是 ThreadLocal 的一些…...

linux中docker命令大全

基本命令 docker pull 拉取镜像 docker pull docker push 推送镜像到DockerRegistry docker push docker images 查看本地镜像 docker images docker rmi 删除本地镜像 docker rmi docker run 创建并运行容器&#xff08;不能重复创建&#xff09; docker run d…...

linux-----常用指令

文件和目录操作指令 ls&#xff08;list&#xff09;指令 功能&#xff1a;用于列出目录的内容&#xff0c;包括文件和子目录。示例&#xff1a; ls&#xff1a;列出当前目录下的所有非隐藏文件和目录。例如&#xff0c;在一个包含文件file1.txt、file2.txt和目录dir1的目录中&…...

1.gitlab 服务器搭建流程

前提条件&#xff1a; 一、服务器硬件水平 搭建gitlab服务器最低配置要求2核4G,低于这个配置的服务器运行效果很差。 gitlab官网&#xff1a;https://about.gitlab.com/ 下载地址&#xff1a;gitlab/gitlab-ce - Packages packages.gitlab.com 本机ubuntu 二、安装依赖 su…...

C 语言基础运算:输入两个整数并计算和、差、积

一、C 语言编程世界初窥 在当今数字化浪潮汹涌澎湃的时代,编程已成为一项极具影响力的技能,它犹如一把神奇的钥匙,能够开启无数创新与可能的大门。而在众多编程语言中,C 语言无疑是一颗最为璀璨耀眼的恒星,长久以来在编程的浩瀚星空中熠熠生辉,散发着独特而迷人的魅力。…...

PC寄存器(Program Counter Register) jvm

在JVM&#xff08;Java虚拟机&#xff09;中&#xff0c;PC寄存器&#xff08;Program Counter Register&#xff09;扮演着至关重要的角色&#xff0c;它是JVM执行引擎的核心组成部分之一。以下是PC寄存器在JVM中的具体角色和职责&#xff1a; 指令执行指针&#xff1a; PC寄存…...

CPU概述随堂测试

1. [单选题] 下列部件不属于控制器的是( )。 A. 指令寄存器 B. 程序计数器 C. 程序状态字寄存器 D. 时序电路 正确答案&#xff1a;C 控制器的主要组成部分包括指令寄存器&#xff08;IR&#xff09;、程序计数器&#xff08;PC&#xff09;&#xff0c;以及用于控制…...

centos7下docker 容器实现redis主从同步

1.下载redis 镜像 docker pull bitnami/redis2. 文件夹授权 此文件夹是 你自己映射到宿主机上的挂载目录 chmod 777 /app/rd13.创建docker网络 docker network create mynet4.运行docker 镜像 安装redis的master -e 是设置环境变量值 docker run -d -p 6379:6379 \ -v /a…...