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

MySQL高级查询

MySQL

前言

文本源自微博客 (www.microblog.store),且已获授权.

一. mysql基础知识

1. mysql常用系统命令

  • 启动命令 net start mysql
  • 停止命令 net stop mysql
  • 登录命令 mysql -h ip -P 端口 -u 用户名 -p

​ 本机可以省略 ip mysql -u 用户名 -p

  • 查看数据库版本 mysql --version / select version();(已登录)
  • 显示所有数据库 show databases;
    • 进⼊指定的库 use 库名;
    • 显示当前库中所有表 show tables;
    • 查看其他库中所有的表 show tables from 库名
    • 查看表的创建语句 show create table 表名;
    • 查看表结构 desc 表名;
    • 查看当前所在库 select database();
  • 查看当前mysql支持的存储引擎 show engines;
  • 查看系统变量及其值 show variables;
  • 查看某个系统变量 show VARIABLES like '变量名';

2. mysql语法规范

  1. 不区分大小写,但建议关键字大写,表明、列明小写
  2. 每条语句最好用英文分号结尾
  3. 每条命令根据需要,可以进行缩进或换行
  4. 注释
    • 单行注释: #注释文字
    • 单行注释: – 注释文字,注意这里需要加空格
    • 多行注释 /*注释文字*/

3. SQL的语言分类

  • DQL(Data Query Language):数据查询语⾔ select 相关语句
  • DML(Data Manipulate Language):数据操作语⾔ insert 、update、delete 语句
  • DDL(Data Define Language):数据定义语⾔ create、drop、alter 语句
  • TCL(Transaction Control Language):事务控制语⾔ set autocommit=0、start
    transaction、savepoint、commit、rollback

二. MySQL中数据类型介绍

1. MySQL的数据类型

主要包括以下五大类

  • 整形数据: bit、bool、tinyint、smallint、mediumint、int、bigint
  • **浮点数类型:**float、double、decimal、decimal
  • **字符串类型:**char、varchar、tinyblob、blob、mediumblob、longblob、tinytext、text、mediumtext、longtext
  • **日期类型:**Date、DateTime、TimeStamp、Time、Year
  • **其他数据类型:**xxxx

2. 数据类型选择的一些建议

  • **选小不选大:**⼀般情况下选择可以正确存储数据的最小数据类型,越小的数据类型通
    常更快,占用磁盘,内存和CPU缓存更小。
  • **简单就好:**简单的数据类型的操作通常需要更少的CPU周期,例如:整型比字符操作
    代价要小得多,因为字符集和校对规则(排序规则)使字符比整型比较更加复杂。
  • **尽量避免NULL:**尽量制定列为NOT NULL,除非真的需要NULL类型的值,有NULL的
    列值会使得索引、索引统计和值比较更加复杂。
  • 浮点类型的建议统⼀选择decimal
  • 记录时间的建议使用int或者bigint类型,将时间转换为时间戳格式,如将时间转换为
    秒、毫秒,进行存储,方便走索引

九. 分组查询(group by、having)

1. 前期准备
  1. 语法

    SELECT column, group_function,... FROM table
    [WHERE condition]
    GROUP BY group_by_expression
    [HAVING group_condition];
    
  2. 说明

    group_function:聚合函数。
    group_by_expression:分组表达式,多个之间用逗号隔开。
    group_condition:分组之后对数据进行过滤。

    分组中,select后面只能有两种类型的列:

  3. 分组中,select后面只能有两种类型的列

  4. 出现在group by后的列

  5. 或者使用聚合函数的列

  6. 聚合函数

    函数名称作用
    max查询指定列的最大值
    min查询指定列的最小值
    count
    sum
    avg

    分组时,可以使用使用上面的聚合函数。

2. 查询
  1. 单字段分组

    查询每个用户下单数量,输出:用户id、下单数量

    SELECTuser_id,COUNT( user_id ) 
    FROMt_order 
    GROUP BYuser_id
    
  2. 查询每个用户每年下单数量,输出字段:用户id、年份、下单数量,如下

    SELECTuser_id,the_year,COUNT( user_id ) 
    FROMt_order 
    GROUP BYuser_id,the_year;
    
  3. 分组前筛选数据

    分组前对数据进行筛选,使用where关键字

    需要查询2018年每个用户下单数量,输出:用户id、下单数量

    
    SELECTuser_id,COUNT( user_id ) 
    FROMt_order WHERE the_year = 2018
    GROUP BYuser_id;
    
  4. 分组后筛选数据

    分组后对数据筛选,使用having关键字

    查询2018年订单数量大于1的用户,输出:用户id,下单数量

    SELECTuser_id,COUNT( user_id ) AS total
    FROMt_order WHERE the_year = 2018
    GROUP BYuser_idHAVING total>1;
    
  5. where和having的区别

    where是在分组(聚合)前对记录进行筛选,而having是在分组结束后的结果里筛选,最后返回整个sql的查询结果。
    可以把having理解为两级查询,即含having的查询操作先获得不含having子句时的sql查询结果表,然后在这个结果表上使用having条件筛选出符合的记录,最后返回这些记录,因此,having后是可以跟聚合函数的,并且这个聚集函数不必与select后面的聚集函数相同。

十二. 子查询

子查询:

​ 出现在select语句中的select语句,称为子查询或内查询。

​ 外部的select查询语句,称为主查询或外查询。

1. 子查询分类

  • 按结果集的行列数不同分为4种
    • 标量子查询(结果集只有⼀行⼀列)
    • 列子查询(结果集只有⼀列多行)
    • 行子查询(结果集有⼀行多列)
    • 表子查询(结果集⼀般为多行多列)
  • 按子查询出现在主查询中的不同位置分
    • select后面:仅仅支持标量子查询。
    • from后面:支持表子查询。
    • where或having后面:支持标量子查询(单列单行)、列子查询(单列多行)、行子
      查询(多列多行)
    • exists后面(即相关子查询):表子查询(多行、多列)

​ (数据准备:javacode2018_employees.sql)

2. select后面的子查询

子查询位于select后⾯的,仅仅支持标量子查询。

  • 实例1 查询每个部门员工个数

    -- 查询每个部门员工个数
    SELECTa.*,( SELECT count(*) FROM employees b WHERE b.department_id = a.department_id ) AS 员工个数 
    FROMdepartments a;
    
  • 查询员工号=102的部门名称

    -- 菜鸟版本
    /*SELECT* 
    FROMdepartments dep 
    WHEREdep.department_id = ( SELECT emp.department_id FROM employees emp WHERE emp.employee_id = 102 );*/ 
    -- 高级版SELECT
    ( SELECT a.department_name FROM departments a, employees b WHERE a.department_id = b.department_id AND b.employee_id = 102 ) AS 部门名;
    

3. from后面的子查询

将子查询的结果集充当⼀张表,要求必须起别名,否者这个表找不到。
然后将真实的表和子查询结果表进行连接查询。

  • 查询每个部门的平均工资

    SELECTemp.department_id,avg( emp.salary ) 
    FROMemployees AS emp 
    GROUP BYemp.department_id;
    
  • 薪资等级表

    select * from job_grades;
    
  • 联合查询: 将上面2个结果连接查询,筛选条件: 平均工资 between lowest_sal and highest_sal

    SELECTemp.department_id,emp.department_name,sa AS '平均工资',job.grade_level 
    FROM( SELECTemp.department_id,dep.department_name,avg( emp.salary ) AS saFROMemployees AS emp ,departments AS dep where  dep.department_id = emp.department_idGROUP BYemp.department_id) emp,job_grades job 
    WHEREemp.sa BETWEEN job.lowest_sal AND job.highest_sal;
    

4. where和having后面的子查询

  1. where和having使用情况

    • 标量子查询(单行单列子查询)

    • 列子查询(单行多列子查询)

    • 行子查询(一行多列子查询)

  2. 特点

  • 子查询放在小括号内。

  • 子查询⼀般放在条件的右侧。

  • 标子查询,⼀般搭配着单行单列操作符使用 >、<、>=、<=、=、<>、!=

  • 列子查询,⼀般搭配着多行操作符使用

  • in(not in):列表中的“任意⼀个”

    • any或者some:和子查询返回的“某⼀个值”比较,比如a>some(10,20,30),a大于
      子查询中任意⼀个即可,a大于子查询中最小值即可,等同于a>min(10,20,30)。
    • all:和子查询返回的“所有值”比较,比如a>all(10,20,30),大于子查询中所有
      值,换句话说,a大于子查询中最大值即可满足查询条件,等同于a>max(10,20,30);
  • 子的执行优先于主查询执行,因为主查询的条件用到了子查询的结果。

  1. mysql中的in、any、some、all

    in,any,some,all分别是子查询关键词之⼀。

  • in:in常用于where表达式中,其作用是查询某个范围内的数据
  • any和some⼀样: 可以与=、>、>=、<、<=、<>结合起来使用,分别表示等于、大于、
    大于等于、小于、小于等于、不等于其中的任何⼀个数据。
  • all:可以与=、>、>=、<、<=、<>结合是来使用,分别表示等于、大于、大于等于、小
    于、小于等于、不等于其中的其中的所有数据。
1. 标量子查询
1. ⼀般标量子查询

查询谁的工资比Abel的⾼?

  1. 查询abel的工资【改查询是标量子查询】

     SELECTemp.salary FROMemployees AS emp WHEREemp.last_name = 'Abel'
    
  2. 查询员工信息,满足salary>①的结果

     SELECT* FROMemployees emp WHEREemp.salary > ( SELECT emp.salary FROM employees AS emp WHERE emp.last_name = 'Abel' );
    
2. 多个标量子查询

返回jobid与141号员工相同,salary比143号员工多的员工、姓名、jobid和工资

  1. 查询141号员工的job_id

    -- 1. 查询141号员工的job_idSELECTemp.job_id 
    FROMemployees emp 
    WHEREemp.employee_id = 141;
    
  2. 查询143号员工的salary

    SELECTemp.salary 
    FROMemployees emp 
    WHEREemp.employee_id = 143;
    
  3. 查询员工的姓名、job_id、工资,要求job_id=① and salary>②

    SELECT* 
    FROMemployees emp 
    WHEREemp.job_id = ( SELECT emp.job_id FROM employees emp WHERE emp.employee_id = 141 ) AND emp.salary > ( SELECT emp.salary FROM employees emp WHERE emp.employee_id = 143 );
    
3. 子查询+分组函数

查询最低工资大于50号部门最低工资的部门id和其最低工资【having】

  1. 查询50号部门的最低工资

    SELECTmin( salary ) 
    FROMemployees 
    WHEREdepartment_id = 50;
    
  2. 查询每个部门的最低工资

    SELECTmin( salary ) 
    FROMemployees 
    GROUP BYdepartment_id;
    
  3. 在②的基础上筛选,满足min(salary)>①

    	
    SELECTemp.department_id,min( emp.salary ) minSalary 
    FROMemployees emp 
    GROUP BYemp.department_id 
    HAVINGMIN( emp.salary )>(SELECTmin( salary ) FROMemployees WHEREdepartment_id = 50 );
2. 列子查询(子查询结果集⼀列多行)

列子查询需要搭配多行操作符使用:in(not in)、any/some、all。
为了提升效率,最好去重⼀下distinct关键字。

实例1

返回location_id是1400或1700的部门中的所有员工姓名:

  1. 方式一:

    a. 查询location_id是1400或1700的部门编号

    select DISTINCT department_id from departments WHERE location_id in(1400,1700);
    

    b. 查询员工姓名,要求部门是①列表中的某⼀个

    SELECTlast_name 
    FROMemployees 
    WHEREdepartment_id IN ( SELECT DISTINCT department_id FROM departments WHERE location_id IN ( 1400, 1700 ) );
    
  2. 方式二:使用any实现

    SELECTlast_name 
    FROMemployees 
    WHEREdepartment_id = ANY ( SELECT DISTINCT department_id FROM departments WHERE location_id IN ( 1400, 1700 ) );
    
  3. 拓展,下面与not in等价

    SELECTlast_name 
    FROMemployees 
    WHEREdepartment_id <>ALL ( SELECT DISTINCT department_id FROM departments WHERE location_id IN ( 1400, 1700 ) );
    
实例2

返回其他工种中比jobid为’ITPROG’工种任意工资低的员工的员工号、姓名、job_id、salary

  1. 查询job_id为’IT_PROG’部门任-工资

    SELECT DISTINCT salary FROM employees WHERE job_id = 'IT_PROG' 
    
  2. 查询员⼯号、姓名、job_id、salary,slary<①的任意⼀个

    SELECT* 
    FROMemployees 
    WHEREsalary < ANY ( SELECT DISTINCT salary FROM employees WHERE job_id = 'IT_PROG' ) AND job_id != 'IT_PROG';
    
  3. 或者

    SELECT* 
    FROMemployees 
    WHEREsalary < ( SELECT MAX(salary ) FROM employees WHERE job_id = 'IT_PROG' ) AND job_id != 'IT_PROG';
    
实例3

返回其他工种中比jobid为’ITPROG’部门所有⼯资低的员⼯的员⼯号、姓名、
job_id、salary

  1. 使用ALL实现:

    SELECTemp.employee_id,emp.first_name,emp.job_id,emp.salary 
    FROMemployees emp 
    WHEREemp.salary < ALL ( SELECT DISTINCT salary FROM employees WHERE job_id = 'IT_PROG' ) AND emp.job_id != 'IT_PROG';
    
  2. 使用min:

    	SELECTemp.employee_id,emp.first_name,emp.job_id,emp.salary 
    FROMemployees emp 
    WHEREemp.salary < ( SELECT MIN(salary) FROM employees WHERE job_id = 'IT_PROG' ) AND emp.job_id != 'IT_PROG';
    
3. 行子查询(子查询结果集一行多列)

查询员工编号最小并且工资最高的员工信息,3种方式:

a. 查询最⼩的员⼯编号

SELECTmin( employee_id ) 
FROMemployees;

b. 查询最⾼⼯资

SELECTMAX( salary ) 
FROMemployees;
方式1 分开使用查询条件
SELECT* 
FROMemployees 
WHEREemployee_id = ( SELECT min( employee_id ) FROM employees ) AND salary = ( SELECT MAX( salary ) FROM employees );
方式2 使用联合查询条件
SELECT* 
FROMemployees 
WHERE( employee_id, salary ) = (SELECTmin( employee_id ),MAX( salary ) FROMemployees )
方式3 使用联合查询条件

SELECT* 
FROMemployees 
WHERE( employee_id, salary ) IN (SELECTmin( employee_id ),MAX( salary ) FROMemployees );
4. exists后面(也叫做相关子查询)
  1. 语法:exists(完整的查询语句)。
  2. exists查询结果:1或0,exists查询的结果用来判断子查询的结果集中是否有值。
  3. ⼀般来说,能用exists的子查询,绝对都能用in代替,所以exists用的少。
  4. 和前面的查询不同,这先执行主查询,然后主查询查询的结果,再根据子查询进行过
    滤,子查询中涉及到主查询中用到的字段,所以叫相关子查询。
实例1 简单实例
SELECT EXISTS( SELECT employee_id FROM employees WHERE salary = 300000 ) AS 'exists返回1或者0';
+----------------------+
| exists返回1或者0 |
+----------------------+
| 0 |
+----------------------+
1 row in set (0.00 sec)
实例2 查询所有员⼯的部门名称
  1. 查询所有员⼯的部门名称

    SELECTa.department_name 
    FROMdepartments a 
    WHEREEXISTS (SELECT1 FROMemployees b WHEREa.department_id = b.department_id);
    
  2. 使用in实现

    SELECTa.department_name 
    FROMdepartments a 
    WHEREa.department_id IN ( SELECT department_id FROM employees );
    
实例3 查询所有员⼯的部门名称
  1. exists实现

    SELECTa.department_name 
    FROMdepartments a 
    WHERENOT EXISTS ( SELECT 1 FROM employees b WHERE a.department_id = b.department_id AND b.department_id IS NOT NULL );
    
  2. in 实现

    SELECTa.department_name 
    FROMdepartments a 
    WHEREa.department_id NOT IN ( SELECT 1 FROM employees b WHERE a.department_id = b.department_id AND b.department_id IS NOT NULL );
    

相关文章:

MySQL高级查询

MySQL 前言 文本源自微博客 (www.microblog.store),且已获授权. 一. mysql基础知识 1. mysql常用系统命令 启动命令 net start mysql停止命令 net stop mysql登录命令 mysql -h ip -P 端口 -u 用户名 -p ​ 本机可以省略 ip mysql -u 用户名 -p 查看数据库版本 mysql --ve…...

聊聊啥项目适合做自动化测试

作为测试从业者&#xff0c;你是否遇到过这样的场景&#xff0c;某天公司大Boss找你谈话。 老板&#xff1a;小李&#xff0c;最近工作辛苦了 小李&#xff1a;常感谢您的认可&#xff0c;这不仅是对我个人的鼓励&#xff0c;更是对我们整个团队努力的认可。我们的成果离不开每…...

ROS2开发机器人移动

.创建功能包和节点 这里我们设计两个节点 example_interfaces_robot_01&#xff0c;机器人节点&#xff0c;对外提供控制机器人移动服务并发布机器人的状态。 example_interfaces_control_01&#xff0c;控制节点&#xff0c;发送机器人移动请求&#xff0c;订阅机器人状态话题…...

【强化学习】第02期:动态规划方法

笔者近期上了国科大周晓飞老师《强化学习及其应用》课程&#xff0c;计划整理一个强化学习系列笔记。笔记中所引用的内容部分出自周老师的课程PPT。笔记中如有不到之处&#xff0c;敬请批评指正。 文章目录 2.1 动态规划&#xff1a;策略收敛法/策略迭代法2.2 动态规划&#xf…...

安全技术和防火墙(二)

接上一节 备份和还原 iptables-save > /opt/iptables.bak iptables-restore < /opt/iptables.bak snat和dnat snat源地址转换 内网到外网 内网ip转换成可以访问外网的ip 内网的多个主机可以只有一个有效的公网ip地址访问外部网络 dnat 目的地址转发 外部用户&#…...

【51单片机入门】数码管原理

文章目录 前言共阴极与共阳极数码管多个数码管显示原理 总结 前言 在我们的日常生活中&#xff0c;数码管被广泛应用于各种电子设备中&#xff0c;如电子表、计时器、电子钟等。数码管的主要功能是显示数字和一些特殊字符。在这篇文章中&#xff0c;我们将探讨数码管的工作原理…...

三星DRAM、NAND,“又双叒叕”带头涨价了

据韩国媒体《每日经济新闻》报道&#xff0c;三星电子计划在第三季度上调服务器DRAM和企业级NAND闪存的价格&#xff0c;涨幅预计在15%-20%&#xff0c;主要受人工智能(AI)需求激增的推动。这一举措有望提振公司下半年业绩。 据《经济日报》报道援引业内消息&#xff0c;由于厂…...

星戈瑞FITC-PEG2000-Biotin的生物相容性

生物相容性是指材料与生物体之间相互作用时&#xff0c;材料对生物体无毒、无刺激&#xff0c;且能够被生物体接受并正常发挥其功能的特性。 FITC-PEG2000-Biotin作为一种荧光标记试剂&#xff0c;在细胞成像、药物传递和生物标志物检测等领域具有诸多应用前景。 FITC-PEG2000…...

数据资产管理的艺术:构建智能化、精细化的数据资产管理体系,从数据整合、分析到决策支持,为企业提供一站式的数据资产解决方案,助力企业把握数字时代的新机遇

一、引言 在数字化浪潮席卷全球的今天&#xff0c;数据已经成为企业最重要的资产之一。如何高效、安全地管理这些海量数据&#xff0c;从中提取有价值的信息&#xff0c;并将其转化为决策支持&#xff0c;是每个企业都必须面对的挑战。本文将探讨数据资产管理的艺术&#xff0…...

基于Java微信小程序校园自助打印系统设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f;感兴趣的可以先收藏起来&#xff0c;还…...

股票复盘思路

股票复盘是一个回顾和分析市场及个人交易决策的过程,旨在从过去的表现中学习并优化未来的投资策略。以下是一些基本的股票复盘步骤和关注点: 市场概况回顾: 观察并记录每日市场的整体表现,包括大盘指数涨跌、成交量变化。统计涨停和跌停个股的数量,了解市场情绪和活跃度。…...

OpenGL系列(六)摄像机

在 OpenGL系列&#xff08;六&#xff09;变换 中&#xff0c;一个目标物体经过模型矩阵、观察矩阵和投影矩阵的变换才能正常显示出来&#xff0c;其中模型矩阵主要针对目标物体&#xff0c;它会影响物体的位姿。观察矩阵和投影矩阵主要针对观察者而已&#xff0c;这两个变换决…...

一个端口配置两个vue和后端服务,nginx以及前后端服务怎么配?

nginx配置重点看server中的内容&#xff1a; worker_processes 8; pid /usr/local/nginx/logs/nginx.pid;events {# 此为 Linux 系统特为处理大批量文件描述符而作改进的 poll 事件模型use epoll;worker_connections 512; # 工作进程的最大连接数量# 允许同时接受多个网络连…...

295. 数据流的中位数

class MedianFinder {Queue<Integer> A,B;public MedianFinder() {A new PriorityQueue<>();//小根堆存储后半部分B new PriorityQueue<>((x,y)->(y-x));//大根堆存储前半部分}public void addNum(int num) {if(A.size()0 && B.size()0){B.add(…...

OCR训练和C#部署英文字符训练

PaddleOCR是一个基于飞桨开发的OCR&#xff08;Optical Character Recognition&#xff0c;光学字符识别&#xff09;系统。其技术体系包括文字检测、文字识别、文本方向检测和图像处理等模块。以下是其优点&#xff1a; 高精度&#xff1a;PaddleOCR采用深度学习算法进行训练…...

webpack【实用教程】

基础配置 配置的拆分和合并 通常 webpack 的配置文件会有3个 webpack.common.js 公共配置&#xff08;会被另外两个配置文件导入并合并&#xff09;webpack.dev.js 开发环境的配置webpack.prod.js 生产环境的配置 开发环境的本地服务 在 webpack.dev.js 中配置 devServer:…...

如何使用C++进行文件读写操作

在C中&#xff0c;我们可以使用标准库中的 <fstream>&#xff08;文件流&#xff09;来进行文件的读写操作。以下是一些基本的文件读写操作的示例。 读取文件 cpp复制代码 #include <fstream> #include <iostream> #include <string> int main() { s…...

Tensorflow Lite移动平台编译

Android平台编译 如果不做定制化操作,我们不需要自己编译TensorFlow Lite Android库。我们可以直接使用位于MavenCentral的TensorFlow Lite AAR。但是在某些情况下,我们需要本地编译TensorFlow Lite。例如,您可能正在构建一个包含operations selected from TensorFlow的自定…...

2024年6月24日-6月30日(ue5肉鸽视频p16-p25)

试过重点放在独立游戏上&#xff0c;有个indienova独立游戏团队是全职的&#xff0c;由于他们干了几个月&#xff0c;节奏暂时跟不上&#xff0c;紧张焦虑了。五一时也有点自暴自弃了&#xff0c;实在没必要&#xff0c;按照自己的节奏走即可。精力和时间也有限&#xff0c;放在…...

LeetCode.面试题17.24.最大子矩阵详解

问题描述 给定一个正整数、负整数和 0 组成的 N M 矩阵&#xff0c;编写代码找出元素总和最大的子矩阵。 返回一个数组 [r1, c1, r2, c2]&#xff0c;其中 r1, c1 分别代表子矩阵左上角的行号和列号&#xff0c;r2, c2 分别代表右下角的行号和列号。若有多个满足条件的子矩阵…...

云动态摘要 2024-06-28

给您带来云厂商的最新动态&#xff0c;最新产品资讯和最新优惠更新。 最新优惠与活动 [新客专享]WeData 限时特惠 腾讯云 2024-06-21 数据分类分级管理&#xff0c;构建数据安全屏障 &#xff0c;仅需9.9元&#xff01; 云服务器ECS试用产品续用 阿里云 2024-04-14 云服务器…...

六、资产安全—信息分级资产管理与隐私保护(CISSP)

目录 1.信息分级 2.信息分级方法 3.责任的层级 4.资产管理 5.隐私数据管理角色 6.数据安全控制 7.数据保护方案 8.使用安全基线 六、资产安全—数据管理(CISSP): 五、身份与访问管理—身份管理和访问控制管理(CISSP): 1.信息分级 信息分级举列: 2.信息分级方…...

香港服务器托管对外贸行业必要性和优势

在当今全球化的经济环境下&#xff0c;外贸企业面临着前所未有的机遇与挑战。其中&#xff0c;服务器托管的选择对于外贸企业的运营效率和市场拓展具有举足轻重的作用。香港服务器&#xff0c;凭借其独特的地理位置、优质的网络环境和卓越的服务性能&#xff0c;一直是外贸企业…...

Vue Router 导航守卫,多次执行的解决方案

Vue Router 是 Vue.js 官方提供的路由器,它用于处理单页应用(SPA)中的路由导航。在 Vue Router 中,导航守卫是非常重要的功能,它可以在路由跳转之前或之后执行一些特定的操作。但是,如果你不小心,导航守卫可能会多次执行,这可能会导致一些问题。本文将介绍如何避免导航…...

SpringBoot集成道历(实现道历日期查询)

官网地址&#xff1a;官网地址https://6tail.cn/calendar/api.html 1、导入依赖 <dependency><groupId>cn.6tail</groupId><artifactId>lunar</artifactId><version>1.3.9</version></dependency><dependency><group…...

面对.rmallox勒索病毒:如何有效防范及应对

引言&#xff1a; 在当今数字化社会&#xff0c;网络安全问题日益严重&#xff0c;勒索病毒成为企业和个人不可忽视的威胁之一。最近出现的.rmallox勒索病毒更是给全球各地的用户带来了严重的数据安全问题。本文将探讨.rmallox勒索病毒的特点、感染方式及应对策略&#xff0c;…...

嘉立创学习

1.两个设置&#xff0c;一般用左边那个 2.焊盘分类 基本焊盘 热风盘&#xff1a;也叫花焊盘&#xff08;负片&#xff09; 隔离焊盘&#xff1a;外面那圈黑色&#xff0c;用作隔离&#xff08;负片&#xff09; 钢网层&#xff1a;&#xff08;锡膏&#xff09; 阻焊层&…...

ECharts 响应式设计

ECharts 响应式设计 ECharts 是一个由百度开源的,基于 JavaScript 的可视化库,它提供了一系列丰富的图表类型和灵活的配置选项,使得数据可视化变得简单而高效。在当今数据驱动的世界中,ECharts 已经成为许多开发者和设计师的首选工具,用于创建交互式和视觉吸引力强的图表…...

基于java语言+springboot技术架构开发的 互联网智能3D导诊系统源码支持微信小程序、APP 医院AI智能导诊系统源码

基于java语言springboot技术架构开发的 互联网智能3D导诊系统源码支持微信小程序、APP 医院AI智能导诊系统源码 一、智慧导诊系统开发原理 导诊系统从原理上大致可分为基于规则模板和基于数据模型两类。 1、基于规则推理的方法通过人工建立症状、疾病和科室之间的对应规则实现…...

MySQL事务——Java全栈知识(31)

1、事务的特性 原子性&#xff08;Atomicity&#xff09;&#xff1a;事务是不可分割的最小操作单元&#xff0c;要么全部成功&#xff0c;要么全部失败。 一致性&#xff08;Consistency&#xff09;&#xff1a;事务完成时&#xff0c;必须使所有的数据都保持一致状态。 隔离…...

2毛钱不到的2A同步降压DCDC电压6V频率1.5MHz电感2.2uH封装SOT23-5芯片MT3520B

前言 2A&#xff0c;2.3V-6V输入&#xff0c;1.5MHz 同步降压转换器&#xff0c;批量价格约0.18元 MT3520B 封装SOT23-5 丝印AS20B5 特征 高效率&#xff1a;高达 96% 1.5MHz恒定频率操作 2A 输出电流 无需肖特基二极管 2.3V至6V输入电压范围 输出电压低至 0.6V PFM 模式可在…...

Ubuntu安装、更新和删除软件

Ubuntu安装、更新和删除软件 问题命令行直接安装、更新和删除软件命令行直接安装软件命令行直接更新软件命令行直接删除软件 手动下载后命令行安装、更新和删除软件手动下载后命令行安装软件手动下载后命令行更新软件手动下载后命令行删除软件 手动下载后在桌面环境下安装、更新…...

消息队列kafka中间件详解:案例解析(第10天)

系列文章目录 1- 消息队列&#xff08;熟悉&#xff09;2- Kafka的基本介绍&#xff08;掌握架构&#xff0c;其他了解&#xff09;3- Kafka的相关使用&#xff08;掌握kafka常用shell命令&#xff09;4- Kafka的Python API的操作&#xff08;熟悉&#xff09; 文章目录 系列文…...

Linux高级编程——线程

pthread 线程 概念 &#xff1a;线程是轻量级进程&#xff0c;一般是一个进程中的多个任务。 进程是系统中最小的资源分配单位. 线程是系统中最小的执行单位。 优点&#xff1a; 比多进程节省资源&#xff0c;可以共享变量 进程会占用&am…...

技术学习的奥秘与乐趣

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 在当今快速发展的科技时代&#xff0c;学习技术已经成为了许多人追求的重要目标之一。无论是为了个人发展&#…...

创新前沿:Web3如何颠覆传统计算机模式

随着Web3技术的快速发展&#xff0c;传统的计算机模式正面临着前所未有的挑战和改变。本文将深入探讨Web3技术的定义、原理以及它如何颠覆传统计算机模式&#xff0c;以及对全球科技发展的潜在影响。 1. 引言&#xff1a;Web3技术的兴起与背景 Web3不仅仅是技术创新的一种&…...

一文弄懂梯度下降算法

1、引言 在上一篇文章中&#xff0c;我们介绍了如何使用线性回归和成本损失函数为房价数据找到最拟合的线。不过&#xff0c;我们也看到&#xff0c;测试多个截距值可能既繁琐又低效。在本文中&#xff0c;我们将深入探讨梯度下降算法&#xff0c;这是一种更加强大的技术&…...

确认偏差:金融市场交易中的隐形障碍

确认偏差&#xff0c;作为一种深刻影响交易员决策与表现的心理现象&#xff0c;其核心在于个体倾向于寻求与既有信念相符的信息&#xff0c;而自动过滤或轻视与之相悖的资讯。这种认知偏见严重扭曲了交易者的决策过程&#xff0c;导致他们过分依赖符合既有观念的数据&#xff0…...

Linux系统之部署linkding书签管理器

Linux系统之部署linkding书签管理器 一、linkding介绍1.1 linkding简介1.2 linkding特点二、本地环境介绍2.1 本地环境规划2.2 本次实践介绍三、检查本地环境3.1 检查本地操作系统版本3.2 检查系统内核版本四、部署Node.js 环境4.1 下载Node.js安装包4.2 解压Node.js安装包4.3 …...

springcloud-gateway 路由加载流程

问题 Spring Cloud Gateway版本是2.2.9.RELEASE&#xff0c;原本项目中依赖服务自动发现来自动配置路由到微服务的&#xff0c;但是发现将spring.cloud.gateway.discovery.locator.enabledfalse 启动之后Gateway依然会将所有微服务自动注册到路由中&#xff0c;百思不得其解&a…...

双减期末考试成绩怎么公布?

考试一直是衡量学生学习成果的重要手段。不过&#xff0c;随着"双减"政策的实施&#xff0c;我们就不得不重新审视传统的成绩公布方式。期末考试成绩&#xff0c;这个曾经让无数学生心跳加速的数字&#xff0c;如今该如何以一种更加合理、公正的方式呈现给学生和家长…...

2, 搭建springCloud 项目 测试demo

上篇文章 新建了父依赖服务&#xff0c;这篇文章就建两个demo测试服务。 因为后面需要做服务间的通讯测试&#xff0c;所以至少需要建两个服务 建个子模块 同样的方式建连个demo服务 给java 和resources目录添加属性 在resources目录下建一个applications.yml文件&#xff0c;…...

RabbitMQ消息积压比较厉害,然后突然丢弃

RabbitMQ中的消息积压陡降通常表明某些突发事件或操作已经显著减少了队列中的消息数量。这种现象可能由多种原因引起&#xff0c;以下是一些可能的原因及其解释&#xff1a; 消费者处理速度突然增加 原因: 你的消费者&#xff08;消费者应用或服务&#xff09;可能在某个时间点…...

QT中的样式表.qss文件

一、前言 qt中样式表的改变有几种方法&#xff0c;第一种就是直接在ui界面对应的组件右键修改样式表&#xff0c;还有一种就是直接在程序里面修改样式表&#xff0c;我知道的还有一种就是qss文件&#xff0c;这个文件就是将在程序中写的修改样式表的语句写道qss文件中&#xff…...

HTML图片链接缓存问题解决

关于解决HTML使用图片链接出现的缓存问题处理 1、项目上明明替换了图片却没发现更新&#xff0c;得去浏览器设置清除浏览器缓存或者其它一些操作才能解决&#xff0c;这也太麻烦了&#xff01;加载过一次不会再加载第二次&#xff0c;其实这时候就存在浏览器图片缓存情况&…...

一个人 三个月 干了二十万

相信很多人是被这个标题吸引进来的&#xff0c;但我并不是标题党&#xff0c;我也很讨厌标题党&#xff0c;这篇文章也不在乎流量&#xff0c;更多的是想记录下。 出来创业三个多月了&#xff0c;给大家汇报一下这段时间的业绩吧。一个人&#xff0c;三个多月&#xff0c;干了…...

设计模式之【工厂模式、适配器模式】

工厂模式&#xff08;Factory Pattern&#xff09; 定义&#xff1a; 工厂模式是一种创建型设计模式&#xff0c;它提供了一个创建对象的接口&#xff0c;但由子类决定要实例化的类是哪一个。工厂方法使一个类的实例化延迟到其子类。 主要类型&#xff1a; 简单工厂模式&…...

云计算:重塑数字时代的基石

目录 一、引言 二、云计算的定义与特点 三、云计算的发展历程 四、云计算的应用场景 五、云计算面临的挑战 六、云计算的未来发展趋势 七、结语 一、引言 随着信息技术的飞速发展&#xff0c;云计算已经逐渐渗透到我们生活的方方面面。从个人用户的在线存储、在线办公&…...

C# SocketUDP服务器,组播

SocketUDP 自己即是服务器又是客户端 &#xff0c;在发消息只需要改成对方ip和端口号即可 前提对方必须开启服务器 socket.Bind(new IPEndPoint(IPAddress.Parse("192.168.107.72"), 8080)); 控件&#xff1a;Button,TextBox,RichTextBox 打开自己服务器 public…...

上市公司绿色投资者原始数据+计算代码(2008-2022年)

数据简介&#xff1a;“绿色”信号&#xff0c;意味着潜在环境风险更低&#xff0c;从而绿色投资者降低了对绿色债券的风险补偿要求&#xff0c;推动了信用利差的收窄。因此&#xff0c;绿色投资者会通过投资者风险意识影响债券信用风险。绿色投资者在推动企业绿色可持续发展方…...

tongweb 部署软航流版签一体化应用示例 提示跨域错误CORS ERROR

目录 问题现象与描述 解决办法 原理解析 什么是CORS 浏览器跨域请求限制 跨域问题解决方法 跨域请求流程 浏览器请求分类解析 http请求方法简介 问题现象与描述 重庆软航科技有限公司提供了一套针对针对word、excel等流式文件转换成PDF版式文件并进行版式文件在线签章…...

MacOS miniconda安装方法

打开macos “终端” 应用 执行命令 mkdir -p ~/miniconda3curl https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda3-latest-MacOSX-arm64.sh -o ~/miniconda3/miniconda.shbash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3rm -rf ~/miniconda3/mini…...

如何快速去除视频里面的水印字幕等信息?(内附工具)

环境&#xff1a; VSR 需要独显 GPU:N 4070TI 12G 问题描述&#xff1a; 如何快速去除视频里面的水印字幕等信息&#xff1f; 解决方案&#xff1a; 1.打开AI工具VSR&#xff0c;打了要处理的视频 2.右侧滑块调整绿色选框&#xff0c;选中要去的字幕或者水印 这次测试右…...

云计算渲染时代:选择Blender或KeyShot进行高效渲染

在云渲染技术日益成熟的背景下&#xff0c;挑选一款贴合项目需求的3D渲染软件显得尤为关键。当前&#xff0c;Blender与KeyShot作为业界领先的全能渲染解决方案&#xff0c;广受推崇。它们虽皆能创造出令人信服的逼真视觉效果&#xff0c;但在特色功能上各有所长。本篇文章旨在…...

如何在 SwiftUI 中熟练使用 sensoryFeedback 修饰符

文章目录 前言背景介绍平台支持仅支持watchOS支持watchOS和iOS 基本用法预定义样式根据触发器值选择样式使用场景当值更改时触发使用条件闭包触发使用反馈闭包触发 可以运行 Demo总结 前言 SwiftUI 引入了新的 sensoryFeedback 视图修饰符&#xff0c;使我们能够在所有 Apple …...

华为OD机考题(​HJ32 密码截取)

前言 经过前期的数据结构和算法学习&#xff0c;开始以OD机考题作为练习题&#xff0c;继续加强下熟练程度。有需要的可以同步练习下。 描述 Catcher是MCA国的情报员&#xff0c;他工作时发现敌国会用一些对称的密码进行通信&#xff0c;比如像这些ABBA&#xff0c;ABA&…...

全新宝马1系是否会引进国产,新款车的产品力是高还是低

换代版宝马1系的定妆图发布之后,关于车辆外观设计的争论最为激烈,其次则是有关换代版是否会引进的讨论。有读者提出了这个问题,那就来简单讲一讲。先讲答案:宝马1系换代版引进的可能性无限接近零,因为引进来也只会是冷门车。两类1系与两种体验不是所有的宝马1系都有可玩性,…...

上海数据交易所入选人民银行上海总部金融“五篇大文章”协同推进机制牵头机构

来自上海数据交易所的消息,上海数据交易所近日入选人民银行上海总部金融“五篇大文章”协同推进机制牵头机构之一。该机制设立的目的是,深入调研做好金融“五篇大文章”面临的热点、难点、堵点问题,合力探索切实可行的政策建议与行动方案。上海数据交易所一直致力于推动数据…...

香港优才计划找中介是否是智商税,靠谱中介又该如何找?

关于香港优才计划的申请&#xff0c;找中介帮助还是自己DIY&#xff0c;网络上充斥的声音太多&#xff0c;对不了解的人来说&#xff0c;难以抉择的同时还怕上当受骗。 这其中很容易误导人的关键在于——信息差&#xff01; 今天这篇文章的目的就是想让大家看清一些中介和DIY…...

如何让你的网站能通过域名访问

背景 当我们租一台云服务器&#xff0c;并在上面运行了一个Web服务&#xff0c;我们可以使用云服务器的公网IP地址进行访问&#xff0c;如下&#xff1a; 本文主要记录如何 实现让自己的网站可以通过域名访问。 买域名 可以登录腾讯云等主流公有云平台的&#xff0c;购买域名…...

浩江星灿面试(c++)

量化工程师&#xff1a;提供实时的数据&#xff0c;为炒股提供依据&#xff1b;稳定&#xff0c;快&#xff0c;准确&#xff1b; 对于性能的要求比较高&#xff1b; 文章目录 题目一、延迟最低的IPC(Inter-Process Communication)通信方式是什么&#xff1f;题目二、找出下面…...

Unity3D 主城角色动画控制与消息触发详解

前言 在游戏开发中&#xff0c;角色动画控制和消息触发是非常重要的一部分&#xff0c;它可以让游戏更加生动和互动。本文将详细介绍如何在Unity3D中实现主城角色动画控制与消息触发。 对惹&#xff0c;这里有一个游戏开发交流小组&#xff0c;大家可以点击进来一起交流一下开…...