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

【数据库——MySQL】(9)函数、查询练习及讲解

目录

  • 1. 题目
    • 1.1 函数练习
    • 1.2 数据库查询
  • 2. 解答
    • 2.1 函数练习
    • 2.2 数据库查询

1. 题目

1.1 函数练习

  1. 求圆周率的值,保留 6 位小数。
  2. 生成两个 100200 间的随机数。
  3. 将”武汉大学”,”数学学院”,”计算数学”连接成一个字符串。
  4. 求字符串中第三个字符为 A 的所有字符串。
  5. 将‘武汉大学计算机学院’的‘计算机’替换为‘数学’。
  6. 求‘中国湖北武汉大学’中的学校名。
  7. 求‘welcome to 中国’包含多少个字符和占多少字节数。
  8. 求今天到明年元旦还有多少天。
  9. 按“yyyymmdd 日”的格式输出今天的日期。
  10. 将一英文单词 s 改为首字母大写,其它字母小写。

1.2 数据库查询

准备工作,接下来要重新建立数据库 yggl

drop database if exists yggl;create database if not exists yggl;USE yggl;drop table if exists departments;
CREATE TABLE Departments(DepartmentID char(3) NOT NULL PRIMARY KEY COMMENT '部门编号',DepartmentName char(20) NOT NULL COMMENT '部门名',Note text NULL COMMENT '备注'
);drop table if exists salary;
CREATE TABLE Salary(EmployeeID char(6) NOT NULL PRIMARY KEY COMMENT '员工编号',InCome float NOT NULL COMMENT '收入',OutCome float NOT NULL COMMENT '支出'
);drop table if exists employees;
CREATE TABLE Employees(EmployeeID char(6) NOT NULL PRIMARY KEY COMMENT '员工编号',Name char(10) NOT NULL COMMENT '姓名',Education char(4) NOT NULL COMMENT '学历',Birthday date NOT NULL COMMENT '出生日期',Sex char(2) NOT NULL COMMENT '性别',WorkYear tinyint(1) COMMENT '工作时间',Address char(20) NULL COMMENT '地址',PhoneNumber char(12) NULL COMMENT '电话号码',DepartmentID char(3) NOT NULL COMMENT '部门编号'
);insert into Departments values('1','财务部',null),('2','人力资源部',null),('3','经理办公室',null),('4','研发部',null),('5','市场部',null)
;insert into Employees values('000001','王林','大专','1966-1-23',1,8,'中山路32-1-508','83355668','2'),('010008','伍容华','本科','1976-3-28',1,3,'北京东路100-2','83321321','1'),('020010','王向蓉','硕士','1982-12-9',1,2,'四牌楼10-10-108','83792361','1'),('020018','李丽','大专','1960-7-30',0,6,'中山东路102-2','83413301','1'),('102201','刘明','本科','1972-10-18',1,3,'虎踞路100-2','83606608','5'),('102208','朱骏','硕士','1965-9-28',1,2,'牌楼巷5-3-106','84708817','5'),('108991','钟敏','硕士','1979-8-10',0,4,'中山路10-3-105','83346722','3'),('111006','张石兵','本科','1974-10-1',1,1,'解放路34-1-203','84563418','5'),('210678','林涛','大专','1977-4-2',1,2,'中山北路24-35','83467336','3'),('302566','李玉珉','本科','1968-9-20',1,3,'热河路209-3','58765991','4'),('308759','叶凡','本科','1978-11-18',1,2,'北京西路3-7-52','83308901','4'),('504209','陈林琳','大专','1969-9-3',0,5,'汉中路120-4-12','84468158','4')
;insert into Salary values('000001',2100.8,123.09),('010008',1582.62,88.03),('102201',2569.88,185.65),('111006',1987.01,79.58),('504209',2066.15,108),('302566',2980.7,210.2),('108991',3259.98,281.52),('020010',2860,198),('020018',2347.68,180),('308759',2531.98,199.08),('210678',2240,121),('102208',1980,100)
;
  1. 查询每个员工的所有数据,查询 Departments 表和 Salary 表的所有数据;
  2. 查询每个员工的姓名、地址和电话号码;
  3. 查询 Employees 表中的部门号和性别,要求消除重复的行;
  4. 查询 EmployeeID000001 的员工地址和电话;
  5. 查询月收入高于 2000 元的员工的员工号、姓名和收入;
  6. 查询 1970 年以后出生的员工的姓名和住址;
  7. 查询财务部的所有员工的员工号和姓名;
  8. 查询 Employees 表中女员工的地址和电话,并将标题分别设置为地址和电话;
  9. 查询 Employees 表中员工的姓名和性别,并且性别值为 1 时显示“男”,值为 0 时显示“女”;
  10. 查询 Employees 表中员工的姓名、住址和收入水平,收入水平:2000 以下显示“低收入”,2000~3000 元显示“中等收入”,3000 元以上显示“高收入”;
  11. 计算每个员工的实际收入,标题显示为“实际收入”,实际收入=Income - Outcome
  12. 获取员工的人数;
  13. 计算 Salary 表中员工月收入的平均值;
  14. 计算 Salary 表中所有员工的总收入;
  15. 查询财务部员工的最高和最低实际收入;
  16. 查询姓“王”的员工的姓名和部门号;
  17. 查询员工号中倒数第 2 个数字为 0 的员工的员工号和姓名;
  18. 查询地址中含“中山”的员工的 ID 和部门号;
  19. 查询收入在 2000~3000 间的员工的 ID 和姓名;
  20. 查询部门号为 13 的员工的 ID 和姓名。

2. 解答

2.1 函数练习

  1. 求圆周率的值,保留 6 位小数。

    SELECT(PI());
    
  2. 生成两个 100200 间的随机数。

    SELECT RAND()*101+99;
    
  3. 将”武汉大学”,”数学学院”,”计算数学”连接成一个字符串。

    SELECT CONCAT("武汉大学","数学学院","计算数学");
    
  4. 求字符串中第三个字符为 A 的所有字符串。

    SELECT * from stu1 where name LIKE '__A%';
    
  5. 将‘武汉大学计算机学院’的‘计算机’替换为‘数学’。

    SELECT REPLACE("武汉大学计算机学院","计算机","数学");
    
  6. 求‘中国湖北武汉大学’中的学校名。

    SELECT SUBSTR("中国湖北武汉大学",5,8);
    
  7. 求‘welcome to 中国’包含多少个字符和占多少字节数。

    SELECT CHAR_LENGTH("welcome to 中国"), LENGTH("welcome to 中国");
    
  8. 求今天到明年元旦还有多少天。

    SELECT DATEDIFF(DATE("2024-01-01"),CURDATE());
    
  9. 按“yyyymmdd 日”的格式输出今天的日期。

    SELECT DATE_FORMAT(CURDATE(),"%Y 年 %m 月 %d 日");
    
  10. 将一英文单词 s 改为首字母大写,其它字母小写。

    set @s:="hello world!";
    SELECT CONCAT(UPPER(LEFT(@s,1)),RIGHT(@s,CHAR_LENGTH(@s)-1));
    

2.2 数据库查询

准备工作,接下来要重新建立数据库 yggl

drop database if exists yggl;create database if not exists yggl;USE yggl;drop table if exists departments;
CREATE TABLE Departments(DepartmentID char(3) NOT NULL PRIMARY KEY COMMENT '部门编号',DepartmentName char(20) NOT NULL COMMENT '部门名',Note text NULL COMMENT '备注'
);drop table if exists salary;
CREATE TABLE Salary(EmployeeID char(6) NOT NULL PRIMARY KEY COMMENT '员工编号',InCome float NOT NULL COMMENT '收入',OutCome float NOT NULL COMMENT '支出'
);drop table if exists employees;
CREATE TABLE Employees(EmployeeID char(6) NOT NULL PRIMARY KEY COMMENT '员工编号',Name char(10) NOT NULL COMMENT '姓名',Education char(4) NOT NULL COMMENT '学历',Birthday date NOT NULL COMMENT '出生日期',Sex char(2) NOT NULL COMMENT '性别',WorkYear tinyint(1) COMMENT '工作时间',Address char(20) NULL COMMENT '地址',PhoneNumber char(12) NULL COMMENT '电话号码',DepartmentID char(3) NOT NULL COMMENT '部门编号'
);insert into Departments values('1','财务部',null),('2','人力资源部',null),('3','经理办公室',null),('4','研发部',null),('5','市场部',null)
;insert into Employees values('000001','王林','大专','1966-1-23',1,8,'中山路32-1-508','83355668','2'),('010008','伍容华','本科','1976-3-28',1,3,'北京东路100-2','83321321','1'),('020010','王向蓉','硕士','1982-12-9',1,2,'四牌楼10-10-108','83792361','1'),('020018','李丽','大专','1960-7-30',0,6,'中山东路102-2','83413301','1'),('102201','刘明','本科','1972-10-18',1,3,'虎踞路100-2','83606608','5'),('102208','朱骏','硕士','1965-9-28',1,2,'牌楼巷5-3-106','84708817','5'),('108991','钟敏','硕士','1979-8-10',0,4,'中山路10-3-105','83346722','3'),('111006','张石兵','本科','1974-10-1',1,1,'解放路34-1-203','84563418','5'),('210678','林涛','大专','1977-4-2',1,2,'中山北路24-35','83467336','3'),('302566','李玉珉','本科','1968-9-20',1,3,'热河路209-3','58765991','4'),('308759','叶凡','本科','1978-11-18',1,2,'北京西路3-7-52','83308901','4'),('504209','陈林琳','大专','1969-9-3',0,5,'汉中路120-4-12','84468158','4')
;insert into Salary values('000001',2100.8,123.09),('010008',1582.62,88.03),('102201',2569.88,185.65),('111006',1987.01,79.58),('504209',2066.15,108),('302566',2980.7,210.2),('108991',3259.98,281.52),('020010',2860,198),('020018',2347.68,180),('308759',2531.98,199.08),('210678',2240,121),('102208',1980,100)
;
  1. 查询每个员工的所有数据,查询 Departments 表和 Salary 表的所有数据;

    USE yggl;select * from employees;
    select * from departments;
    select * from salary;
    
  2. 查询每个员工的姓名、地址和电话号码;

    select name, Address, PhoneNumber
    from employees;
    

    :细心的小伙伴肯定看见了一个需要修正的地方,即 name,之前说过 name 是一个关键字,虽然这里还是可以正常准确输出结果,但是不建议这么写哦~

    # 应该这么写
    select `name`, Address, PhoneNumber
    from employees;
    

    :另外在 SQL 中,变量名、关键字是不区分大小写的!

  3. 查询 Employees 表中的部门号和性别,要求消除重复的行;

    select DISTINCT DepartmentID, Sex
    from employees;
    
  4. 查询 EmployeeID000001 的员工地址和电话;

    select EmployeeID, Address, PhoneNumber
    from employees
    where EmployeeID = '000001';
    
  5. 查询月收入高于 2000 元的员工的员工号、姓名和收入;

    select employees.EmployeeID, employees.`Name`, salary.InCome
    from employeesjoin salaryon employees.EmployeeID = salary.EmployeeID
    where salary.InCome > 2000;# 或者SELECT e.EmployeeID,Name,InCome FROM employees e join salary s on e.EmployeeID = s.EmployeeID where s.InCome>2000;
    
  6. 查询 1970 年以后出生的员工的姓名和住址;

    select `Name`, Birthday, Address
    from employees
    where year(Birthday) > 1970;# 或者SELECT Name, Birthday, Address FROM employees where Left(Birthday,4)>='1970';
    
  7. 查询财务部的所有员工的员工号和姓名;

    # 已知财务部编号(不合实际)
    select EmployeeID, `Name`
    from employees
    where DepartmentID = 1;# 直接通过财务部名称来查询(符合实际)
    select EmployeeID, `Name`
    from employeesjoin departmentson employees.DepartmentID = departments.DepartmentID
    where DepartmentName = '财务部';
    
  8. 查询 Employees 表中女员工的地址和电话,并将标题分别设置为地址和电话;

    select Address as 地址, PhoneNumber as 电话
    from employees
    where sex = 0;
    
  9. 查询 Employees 表中员工的姓名和性别,并且性别值为 1 时显示“男”,值为 0 时显示“女”;

    # 方法一:【case】
    select `Name`,casewhen Sex = '1' then '男'when Sex = '0' then '女'end as 性别
    from employees;# 或者select `Name`,casewhen sex = '1' then '男'else '女' end as 性别
    from employees;# 方法二:
    # 【if】(考虑数据中只有男女两种选择且要求不为空,所以没有判断0)
    select `Name`, if(Sex='1', '男', '女') as 性别
    from employees;# 【有缺失值时】(本次数据不会发生这种情况)
    select `Name`, if(Sex='1', '男', if(Sex='0', '女', '未知')) as 性别
    from employees;
    
  10. 查询 Employees 表中员工的姓名、住址和收入水平,收入水平:2000 以下显示“低收入”,2000~3000 元显示“中等收入”,3000 元以上显示“高收入”;

    # 方法一:【case】
    select employees.`Name`, employees.Address, casewhen salary.InCome < 2000 then '低收入'when salary.InCome > 3000 then '高收入'else '中等收入'end as 收入水平
    from employees, salary
    where employees.EmployeeID = salary.EmployeeID;# 方法二:【if】
    select employees.`Name`, employees.Address, if(salary.InCome < 2000, '低收入', if(salary.InCome > 3000, '高收入', '中等收入')) as 收入水平
    from employees, salary
    where employees.EmployeeID = salary.EmployeeID;
    
  11. 计算每个员工的实际收入,标题显示为“实际收入”,实际收入=Income - Outcome

    select employees.`Name`, salary.InCome - salary.OutCome as 实际收入
    from employees, salary
    where employees.EmployeeID = salary.EmployeeID;# 或者设置一下小数位数为 2
    # 方法一:
    SELECT e.EmployeeID, Name, format(sum(Income-Outcome),2) as 实际收入 FROM employees e 
    join salary s on e.EmployeeID = s.EmployeeID group by e.EmployeeID ;# 方法二:
    select employees.`Name`, FORMAT(salary.InCome - salary.OutCome,2) as 实际收入
    from employees, salary
    where employees.EmployeeID = salary.EmployeeID;
    
  12. 获取员工的人数;

    select count(*) as 人数
    from employees;
    
  13. 计算 Salary 表中员工月收入的平均值;

    select AVG(InCome) as 员工月收入的平均值
    from salary;
    
  14. 计算 Salary 表中所有员工的总收入;

    select SUM(InCome) as 所有员工的总收入
    from salary;
    
  15. 查询财务部员工的最高和最低实际收入;

    # 已知财务部编号(不合实际)
    select MAX(salary.InCome) as 财务部员工的最高实际收入, MIN(salary.InCome) as 财务部员工的最低实际收入
    from salaryjoin employeeson salary.EmployeeID = employees.EmployeeID
    where employees.DepartmentID = 1;# 直接通过财务部名称来查询(符合实际)
    select MAX(salary.InCome) as 财务部员工的最高实际收入, MIN(salary.InCome) as 财务部员工的最低实际收入
    from employeesjoin salaryon salary.EmployeeID = employees.EmployeeIDjoin departmentson employees.DepartmentID = departments.DepartmentID
    where DepartmentName = '财务部';
    
  16. 查询姓“王”的员工的姓名和部门号;

    select `Name`, DepartmentID
    from employees
    where `Name` like '王%';# 正则表达式
    select `Name`, DepartmentID
    from employees
    where `Name` REGEXP '^王';
    
  17. 查询员工号中倒数第 2 个数字为 0 的员工的员工号和姓名;

    # 若员工号是固定的且长度不长的话(显得笨拙)
    select EmployeeID, `Name`
    from employees
    where EmployeeID like '____0_';# 不论长度是否等长(很智能)
    select EmployeeID, `Name`
    from employees
    where EmployeeID like '%0_';# 正则表达式
    select EmployeeID, `Name`
    from employees
    where EmployeeID REGEXP '0.$';
    
  18. 查询地址中含“中山”的员工的 ID 和部门号;

    select EmployeeID, DepartmentID
    from employees
    where Address like '%中山%';# 正则表达式
    select EmployeeID, DepartmentID
    from employees
    where Address REGEXP '中山';
    
  19. 查询收入在 2000~3000 间的员工的 ID 和姓名;

    select employees.EmployeeID, employees.`Name`, Income
    from employeesjoin salaryon employees.EmployeeID = salary.EmployeeID
    where salary.InCome >= 2000 and salary.InCome <= 3000;# 或者用 between and
    select employees.EmployeeID, employees.`Name`, Income
    from employeesjoin salaryon employees.EmployeeID = salary.EmployeeID
    where salary.InCome BETWEEN 2000 and 3000;
    
  20. 查询部门号为 13 的员工的 ID 和姓名。

    select EmployeeID, `Name`
    from employees
    where DepartmentID='1' or DepartmentID='3';# 或者
    select EmployeeID, `Name`
    from employees
    where DepartmentID in ('1','3');
    

上一篇文章:【数据库——MySQL】(8)表数据插入、修改和删除练习及讲解
下一篇文章:【数据库——MySQL】(10)视图和索引

相关文章:

【数据库——MySQL】(9)函数、查询练习及讲解

目录 1. 题目1.1 函数练习1.2 数据库查询 2. 解答2.1 函数练习2.2 数据库查询 1. 题目 1.1 函数练习 求圆周率的值&#xff0c;保留 6 位小数。生成两个 100 到 200 间的随机数。将”武汉大学”,”数学学院”,”计算数学”连接成一个字符串。求字符串中第三个字符为 A 的所有…...

【数据结构与算法——C语言】“串操作与算法”之“找出最长串及其长度”

目录 1. 实验内容及上机实验所用平台1.1 实验内容1.2 实验平台软件 2. 流程图3. 源代码4. 用例测试5. 实验总结 1. 实验内容及上机实验所用平台 1.1 实验内容 【问题描述】 给定两个字符串 s1 和 s2&#xff0c;求最长的 s1 前缀 ss 使得 ss 为 s2 的最长后缀&#xff0c;输出…...

泡泡玛特:一家中国潮玩品牌的出海之旅

泡泡玛特的出海之旅&#xff0c;可以为中国出海企业提供怎样的启示和借鉴&#xff1f; 中国潮玩品牌的出海之旅 如果在年轻人群体中聊起泡泡玛特&#xff0c;那么估计无人不知无人不晓。这家成立于2010年的潮玩企业&#xff0c;凭借琳琅满目让消费者爱不释手的创新产品&#xf…...

淘宝商品sku信息抓取接口api

在电商行业中&#xff0c;SKU是一个经常被使用的术语&#xff0c;但是对于很多人来说&#xff0c;这个词可能还比较陌生。在这篇文章中&#xff0c;我们将详细解释什么是SKU&#xff0c;以及在电商业务中它的作用和意义。 什么是SKU&#xff1f; SKU是“Stock Keeping Unit”…...

MySQL 多表关系(多表查询 一)

多表关系描述 MySQL是一种关系型数据库管理系统&#xff0c;它支持多表关系&#xff0c;这在数据库设计和查询中非常重要。 项目开发中&#xff0c;在进行数据库表结构设计时&#xff0c;会根据业务需求及业务模块之间的关系&#xff0c;分析并设计表结构&#xff0c;由于业务…...

【面试高高手】——JavaIO篇(23题)

文章目录 1.什么是Java IO&#xff1f;2.如何从数据传输方式理解IO流&#xff1f;3.Java IO设计上使用了什么设计模式&#xff1f;4.什么是Java NIO&#xff1f;5.什么时BIO?6.什么是AIO?7.你怎么理解同步IO和异步IO?8.你怎么理解阻塞IO和非阻塞IO?9.IO中的输入流和输出流有…...

图像采集 deep OCR

按照芯片类型可以分为CCD相机、CMOS相机 按照传感器的结构特性可以分为线阵相机、面阵相机 按照扫描方式可以分为隔行扫描相机、逐行扫描相机 按照分辨率大小可以分为普通分辨率相机、高分辨率相机按照输出信号方式可以分为模拟相机、数字相机 按照输出色彩可以分为单色(黑白)相…...

Linux 终端命令总结

一、常用的七条命令 命令 对应英文作用lslist查看当前文件夹下的内容pwdprint work directory查看当前所在文件夹cd [目录名]change directory切换文件夹 touch [文件名]touch如果文件不存在新建文件mkdir [目录名]make directory创建目录rm[文件名]remo…...

中国核动力研究设计院使用 DolphinDB 替换 MySQL 实时监控仪表

随着仪表测点的大幅增多和采样频率的增加&#xff0c;中国核动力研究设计院仪控团队原本基于 MySQL 搭建的旧系统已经无法满足大量数据并发写入、实时查询和聚合计算的需求。他们在研究 DB-Engines 时序数据库榜单时了解到国内排名第一的 DolphinDB。经过测试&#xff0c;发现其…...

速看!软考中项100条重要知识点集锦!

1. 项目的特点有哪些&#xff1f; 2. 项目的组织方式有哪些&#xff1f;分别具有什么优缺点&#xff1f; 3. 项目管理过程组有哪些&#xff1f; 4. 怎么样才能成为一位优秀的项目经理&#xff1f; 5. PMO的主要职能有哪些&#xff1f; 6. 项目经理&#xff08;PM&#xff…...

Pycharm在进行debug时出现collecting data如何解决?

Pycharm在进行debug时变量界面出现collecting data&#xff0c;问题如下&#xff1a; 解决方法&#xff1a;打开Setting界面&#xff0c;在Python Debugger选项中勾选下图中的Gevent compatible即可。...

【算法分析与设计】算法概述

目录 一、学习要点二、算法的定义三、算法的性质四、程序(Program)五、问题求解(Problem Solving)六、算法的描述七、算法分析的目的八、算法复杂性分析&#xff08;一&#xff09;算法时间复杂性分析&#xff08;二&#xff09;算法渐近复杂性1、渐进上界记号-大O符号2、渐进下…...

如何进一步全面提高项目估算精准度?

项目估算非常重要&#xff0c;这直接关系着项目的成本和收入&#xff0c;如果估算不准确&#xff0c;将为项目带来较大风险。一般软件规模可以用多种方式进行估算&#xff0c;但是用功能点估算方式更准确&#xff0c;而自动估算让估算更快速&#xff0c;我们以CoCode开发的估算…...

Git学习笔记4

GitHub是目前最火的开源项目代码托管平台。它是基于web的Git仓库&#xff0c;提供公有仓库和私有仓库&#xff0c;但私有仓库是需要付费的。 到Github上找类似的项目软件。 GitLab可以创建免费的私有仓库。 GitLab是利用 Ruby开发的一个开源的版本管理系统&#xff0c;实现一个…...

【红外与可见光图像融合】离散平稳小波变换域中基于离散余弦变换和局部空间频率的红外与视觉图像融合方法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

成都睿趣科技:抖音开通橱窗带货需要钱吗

随着社交媒体和电子商务的蓬勃发展&#xff0c;抖音作为一种流行的短视频平台&#xff0c;也推出了自己的“抖音橱窗”功能&#xff0c;让内容创作者能够通过视频展示和销售产品&#xff0c;从而实现商业化。那么&#xff0c;抖音橱窗带货是否需要费用呢? 首先&#xff0c;要开…...

中间件 - 分布式协调服务Zookeeper

目录 一. 前言 二. 树状结构 2.1. ZNode 2.1.1. stat 2.1.2. ACL 三. NameService命名服务 四. Configuration 配置管理 五. GroupMembers 集群管理 六. 集群三个角色及状态 七. 选举算法 八. Watcher 九. 设计目的 十. 典型使用场景 一. 前言 Zookeeper是一个分布…...

golang的实用工具

golang的实用工具 Go 语言提供了许多实用的工具&#xff0c;以下是其中一些常用的工具&#xff1a; 1. go run&#xff1a;用于直接运行 Go 源代码文件&#xff0c;无需显式编译。 2. go build&#xff1a;用于将 Go 代码编译成可执行文件或库。 3. go test&#xff1a;用于…...

图层混合模式(三)

差值模式 差值模式&#xff1a;查看每个通道的数值&#xff0c;用基色减去混合色或用混合色减去基色。具体取决于混合色与基色那个通道的数值更大。白色与任何颜色混合得到反相色&#xff0c;黑色与任何颜色混合颜色不变。 计算公式&#xff1a;结果色 绝对值&#xff08;混合…...

蓝牙核心规范(V5.4)10.6-BLE 入门笔记之L2CAP

蓝牙篇之蓝牙核心规范(V5.4)深入详解汇总 1.概述 L2CAP负责协议复用、流量控制、服务数据单元(SDU)的分段和重组。它使用通道的概念来分隔在堆栈层之间传递的数据包序列。固定通道不需要设置,立即可用,并与特定的上层协议相关联。通道也可以通过指定的协议服务多路复用器…...

手游刚开服就被攻击怎么办?如何防御DDoS?

开服初期是手游最脆弱的阶段&#xff0c;极易成为DDoS攻击的目标。一旦遭遇攻击&#xff0c;可能导致服务器瘫痪、玩家流失&#xff0c;甚至造成巨大经济损失。本文为开发者提供一套简洁有效的应急与防御方案&#xff0c;帮助快速应对并构建长期防护体系。 一、遭遇攻击的紧急应…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

遍历 Map 类型集合的方法汇总

1 方法一 先用方法 keySet() 获取集合中的所有键。再通过 gey(key) 方法用对应键获取值 import java.util.HashMap; import java.util.Set;public class Test {public static void main(String[] args) {HashMap hashMap new HashMap();hashMap.put("语文",99);has…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式&#xff1a;多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈&#xff1a;模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展&#xff08;H2Cross架构&#xff09;&#xff1a; 适配层&#xf…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

根据万维钢·精英日课6的内容,使用AI(2025)可以参考以下方法:

根据万维钢精英日课6的内容&#xff0c;使用AI&#xff08;2025&#xff09;可以参考以下方法&#xff1a; 四个洞见 模型已经比人聪明&#xff1a;以ChatGPT o3为代表的AI非常强大&#xff0c;能运用高级理论解释道理、引用最新学术论文&#xff0c;生成对顶尖科学家都有用的…...

JS设计模式(4):观察者模式

JS设计模式(4):观察者模式 一、引入 在开发中&#xff0c;我们经常会遇到这样的场景&#xff1a;一个对象的状态变化需要自动通知其他对象&#xff0c;比如&#xff1a; 电商平台中&#xff0c;商品库存变化时需要通知所有订阅该商品的用户&#xff1b;新闻网站中&#xff0…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...