MYSQL学习笔记(二):基本的SELECT语句使用(基本、条件、聚合函数查询)
前言:
- 学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇+,涵盖入门、进阶、高级(一些原理分析);
- 这一篇是讲解SELECT语句使用,包括基本、条件、聚合函数查询,并且结合案例进行讲解;
- 虽然MYSQL命令很多,但是自己去多敲一点,到后面忘记了,查一下就可以回忆起来使用了;
- 这一系列也是本人学习MYSQL做的笔记,也是为了方便后面忘记查询;
- 参考资料:尚硅谷、黑马、csdn和知乎博客;
- 欢迎收藏 + 关注,本人将会持续更新。
文章目录
- 基本查询
- 查询需求
- 条件查询
- 运算符表
- 查询需求(案例)
- 结合运算符
- 结合空/非空运算符
- 正则表达式
- 聚合函数(统计函数)
课程使用数据文件: 后台私信获取。
基本查询
MySQL 数据库使用SELECT语句来查询数据。
1. 查询多个字段
以下为在MySQL数据库中查询数据通用的 SELECT 语法:
SELECT 字段名,字段名... FROM 表名;
SELECT * FROM 表名; #查询所有字段
- 查询语句中可以使用一个或者多个表,表之间使用逗号(,)分割;
- SELECT 命令可以读取一条或者多条记录。
- 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
- 注意: 星号少用
2.设置别名
SELECT 字段1 [AS 别名],字段2 [AS 别名]... FROM 表名;
3.去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
4.四则运算查询
| 运算符 | 描述 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| /(DIV) | 除法 |
| %(MOD) | 求余 |
查询需求
- 查询指定字段 ename,job,sal的数据
select ename,job,sal from emp;/*
mysql> select ename, job, sal from emp;
+--------+-----------+------+
| ename | job | sal |
+--------+-----------+------+
| SMITH | CLERK | 800 |
| ALLEN | SALESMAN | 1600 |
| WARD | SALESMAN | 1250 |
| JONES | MANAGER | 2975 |
| MARTIN | SALESMAN | 1250 |
| BLAKE | MANAGER | 2850 |
| CLARK | MANAGER | 2450 |
| SCOTT | ANALYST | 3000 |
| KING | PRESIDENT | 5000 |
| TURNER | SALESMAN | 1500 |
| ADAMS | CLERK | 1100 |
| JAMES | CLERK | 950 |
| FORD | ANALYST | 3000 |
| MILLER | CLERK | 1300 |
+--------+-----------+------+
*/
- 查询所有字段
# 方法一,将所有字段名写出
select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;# 方法二:select * from 表名; 注意:少用*
select * from emp; #注意:不直观 影响效率 遵循开发规范最好不要写* 吧所有字段写出了,一目了然/*
mysql> select * from emp;
+-------+--------+-----------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+--------+-----------+------+------------+------+------+--------+
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | NULL | 20 |
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600 | 300 | 30 |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30 |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | NULL | 20 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 | 30 |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450 | NULL | 10 |
| 7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000 | NULL | 20 |
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000 | NULL | 10 |
| 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500 | 0 | 30 |
| 7876 | ADAMS | CLERK | 7788 | 1987-05-23 | 1100 | NULL | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | NULL | 30 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | NULL | 20 |
| 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300 | NULL | 10 |
+-------+--------+-----------+------+------------+------+------+--------+
14 rows in set (0.00 sec)
*/
- 查询所有员工的职位,并起别名
# 方法一:在字段名后面加上 as + 别名
select job as '工作' from emp;# 方法二:在字段名后直接加上别名
select job '工作' from emp; #as可以省略/*
mysql> select job as '工作' from emp;
+-----------+
| 工作 |
+-----------+
| CLERK |
| SALESMAN |
| SALESMAN |
| MANAGER |
| SALESMAN |
| MANAGER |
| MANAGER |
| ANALYST |
| PRESIDENT |
| SALESMAN |
| CLERK |
| CLERK |
| ANALYST |
| CLERK |
+-----------+
14 rows in set (0.00 sec)
*/
- 查询员工的的职位有哪些(不要重复)
# 去重,关键字:DISTINCT,只需要在最前面加一个即可
SELECT DISTINCT job FROM emp;/*
mysql> select distinct job from emp;
+-----------+
| job |
+-----------+
| CLERK |
| SALESMAN |
| MANAGER |
| ANALYST |
| PRESIDENT |
+-----------+
5 rows in set (0.00 sec)
*/
- 查询员工年薪 即 sal* 12
select ename, sal, sal*10 '年终奖' from emp;/*mysql> select ename, sal, sal*10 '年终奖' from emp;
+--------+------+--------+
| ename | sal | 年终奖 |
+--------+------+--------+
| SMITH | 800 | 8000 |
| ALLEN | 1600 | 16000 |
| WARD | 1250 | 12500 |
| JONES | 2975 | 29750 |
| MARTIN | 1250 | 12500 |
| BLAKE | 2850 | 28500 |
| CLARK | 2450 | 24500 |
| SCOTT | 3000 | 30000 |
| KING | 5000 | 50000 |
| TURNER | 1500 | 15000 |
| ADAMS | 1100 | 11000 |
| JAMES | 950 | 9500 |
| FORD | 3000 | 30000 |
| MILLER | 1300 | 13000 |
+--------+------+--------+
14 rows in set (0.00 sec)*/
条件查询
我们知道从 MySQL 表中使用 SELECT 语句来查询数据,如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。
语法
SELECT 字段名 FROM 表名 WHERE 条件;
运算符表
| 关系运算符 | 功能 |
|---|---|
| > | 大于 |
| >= | 大于等于 |
| < | 小于 |
| <= | 小于等于 |
| = | 等于 |
| <> 或 != | 不等于 |
| 逻辑运算符 | 功能 |
|---|---|
| AND 或 && | 并且(多个条件同时成立) |
| OR 或 || | 或者(多个条件任意成立一个) |
| NOT 或 ! | 非,不是 |
| 其他 | 功能 |
|---|---|
| BETWEEN…AND… | 在某个范围之间(含最小、最大值) |
| IN(…) | 在in之后的列表中的值,多选一 |
| LIKE | 模糊匹配(_匹配单个字符,%匹配任意个字符) |
| IS [NOT] NULL | 是 NULL |
| _ | 通配符:占位符 |
| % | 通配符:占位,如%S |
- 查询列表里面的元素如果遇到冲突,要加
' ',
查询需求(案例)
结合运算符
- 查询工资等于3000的员工
SELECT * FROM emp WHERE sal=3000;/*
mysql> select * from emp where sal=3000;
+-------+-------+---------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+---------+------+------------+------+------+--------+
| 7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000 | NULL | 20 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | NULL | 20 |
+-------+-------+---------+------+------------+------+------+--------+
2 rows in set (0.00 sec)
*/
- 查询工资小于1000的员工
SELECT * FROM emp WHERE sal<1000; /*
mysql> select * from emp where sal < 1000;
+-------+-------+-------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+-------+------+------------+------+------+--------+
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | NULL | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | NULL | 30 |
+-------+-------+-------+------+------------+------+------+--------+
2 rows in set (0.00 sec)
*/
- 查询工资小于等于1000的员工
SELECT * FROM emp WHERE sal<=1000;/*
mysql> select * from emp where sal <= 1000;
+-------+-------+-------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+-------+------+------------+------+------+--------+
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | NULL | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | NULL | 30 |
+-------+-------+-------+------+------------+------+------+--------+
2 rows in set (0.00 sec)*/
结合空/非空运算符
- 查询没有奖金的员工
SELECT * FROM emp WHERE comm IS NULL;/*
mysql> select * from emp where comm is null;
+-------+--------+-----------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+--------+-----------+------+------------+------+------+--------+
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | NULL | 20 |
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | NULL | 20 |
| 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 | 2850 | NULL | 30 |
| 7782 | CLARK | MANAGER | 7839 | 1981-06-09 | 2450 | NULL | 10 |
| 7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000 | NULL | 20 |
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000 | NULL | 10 |
| 7876 | ADAMS | CLERK | 7788 | 1987-05-23 | 1100 | NULL | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | NULL | 30 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | NULL | 20 |
| 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300 | NULL | 10 |
+-------+--------+-----------+------+------------+------+------+--------+
10 rows in set (0.00 sec)
*/
- 查询有奖金的员工
# 语法 is not
SELECT * FROM emp WHERE comm IS NOT NULL;/*
mysql> select * from emp where comm is not null;
+-------+--------+----------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+--------+----------+------+------------+------+------+--------+
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600 | 300 | 30 |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 | 30 |
| 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500 | 0 | 30 |
+-------+--------+----------+------+------------+------+------+--------+
4 rows in set (0.00 sec)*/
结合逻辑运算符
- 查询工资在1200到1800之间的员工(包含1200和1800岁)
# 并且三种写法:
-- &&
-- and
-- between(用于两个条件的并且)
SELECT * FROM emp WHERE sal>=1200 && sal<=1800;
SELECT * FROM emp WHERE sal>=1200 AND sal<=1800;
SELECT * FROM emp WHERE sal BETWEEN 1200 AND 1800;/*
mysql> select * from emp where sal>=1200 and sal <= 1800;
+-------+--------+----------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+--------+----------+------+------------+------+------+--------+
| 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 | 1600 | 300 | 30 |
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 | 30 |
| 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 | 1500 | 0 | 30 |
| 7934 | MILLER | CLERK | 7782 | 1982-01-23 | 1300 | NULL | 10 |
+-------+--------+----------+------+------------+------+------+--------+
5 rows in set (0.00 sec)
*/
- 查询职位为推销员,且工资小于1500的员工
SELECT * FROM emp WHERE job='salesman' AND sal < 1500;/*
mysql> SELECT * FROM emp WHERE job='salesman' AND sal < 1500;
+-------+--------+----------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+--------+----------+------+------------+------+------+--------+
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30 |
| 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 | 1250 | 1400 | 30 |
+-------+--------+----------+------+------------+------+------+--------+
2 rows in set (0.00 sec)
*/
- 查询工资为800 或 3000 或 5000的员工
# 或:
-- or
-- in(…………)
SELECT * FROM emp WHERE sal=800 OR sal=3000 OR sal=5000;
SELECT * FROM emp WHERE sal IN(800,3000,5000);/*
mysql> select * from emp where sal=800 or sal=3000 or sal=5000;
+-------+-------+-----------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+-----------+------+------------+------+------+--------+
| 7369 | SMITH | CLERK | 7902 | 1980-12-17 | 800 | NULL | 20 |
| 7788 | SCOTT | ANALYST | 7566 | 1987-04-19 | 3000 | NULL | 20 |
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000 | NULL | 10 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | NULL | 20 |
+-------+-------+-----------+------+------------+------+------+--------+
4 rows in set (0.00 sec)
*/
正则表达式
这个现用现查即可。
- 查询姓名为四个字的员工,
SELECT * FROM emp WHERE ename LIKE '____';/*
mysql> select * from emp where ename like '____';
+-------+-------+-----------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+-----------+------+------------+------+------+--------+
| 7521 | WARD | SALESMAN | 7698 | 1981-02-22 | 1250 | 500 | 30 |
| 7839 | KING | PRESIDENT | NULL | 1981-11-17 | 5000 | NULL | 10 |
| 7902 | FORD | ANALYST | 7566 | 1981-12-03 | 3000 | NULL | 20 |
+-------+-------+-----------+------+------------+------+------+--------+
3 rows in set (0.00 sec)
*/
- 查询姓名最后一位是S的员工
SELECT * FROM emp WHERE ename LIKE '%S';/*
mysql> select * from emp where ename like '%s';
+-------+-------+---------+------+------------+------+------+--------+
| empno | ename | job | mgr | hiredate | sal | comm | deptno |
+-------+-------+---------+------+------------+------+------+--------+
| 7566 | JONES | MANAGER | 7839 | 1981-04-02 | 2975 | NULL | 20 |
| 7876 | ADAMS | CLERK | 7788 | 1987-05-23 | 1100 | NULL | 20 |
| 7900 | JAMES | CLERK | 7698 | 1981-12-03 | 950 | NULL | 30 |
+-------+-------+---------+------+------------+------+------+--------+
3 rows in set (0.00 sec)
*/
聚合函数(统计函数)
SQL 允许对表中的数据进行计算,将一列数据作为一个整体,进行纵向计算。
| 函数名 | 作用 |
|---|---|
| MAX(column) | 返回某列的最低值(没有则返回NULL) |
| MIN(column) | 返回某列的最高值(没有则返回NULL) |
| COUNT(column) | 返回某列的行数(不包括 NULL 值) |
| COUNT(*) | 返回被选列行数(包括NULL) |
| SUM(column) | 求和 |
| AVG(column) | 求平均值 |
注意:
- 其中 COUNT 函数可用于任何数据类型 (因为它只是计数)
- 而 SUM 、AVG 函数都只能对数值类型做计算
- MAX 和 MIN 可用于数值、字符串或是日期时间数据类型
- 统计该企业员工数量
select count(ename) 人数 from emp;
/*
+------+
| 人数 |
+------+
| 14 |
+------+
1 row in set (0.01 sec)
*/
- 统计该企业员工的平均工资
select avg(sal) '平均工资' from emp; /*
+-----------+
| 平均工资 |
+-----------+
| 2073.2143 |
+-----------+
1 row in set (0.00 sec)
*/
- 查询该企业员工的最高工资
select max(sal) '最高工资' from emp;
/*
+----------+
| 最高工资 |
+----------+
| 5000 |
+----------+
1 row in set (0.00 sec)
*/
- 查询该企业员工的最低工资
select min(sal) '最低工资' from emp;
/*
+----------+
| 最低工资 |
+----------+
| 800 |
+----------+
1 row in set (0.00 sec)
*/
- 计算所有销售的工资之和
select sum(sal) '总工资' from emp;
/*
+--------+
| 总工资 |
+--------+
| 29025 |
+--------+
1 row in set (0.00 sec)
*/
相关文章:
MYSQL学习笔记(二):基本的SELECT语句使用(基本、条件、聚合函数查询)
前言: 学习和使用数据库可以说是程序员必须具备能力,这里将更新关于MYSQL的使用讲解,大概应该会更新30篇,涵盖入门、进阶、高级(一些原理分析);这一篇是讲解SELECT语句使用,包括基本、条件、聚合函数查询,…...
PCL 点到面的ICP算法实现点云配准(C++详细过程版)
ICP算法 一、算法原理1、算法概述2、实现流程3、参考文献二、代码实现三、结果展示四、相关链接一、算法原理 1、算法概述 实现的算法与 PCL 点到面的ICP精配准(线性最小二乘优化)一文相同,使用C++代码复现线性优化的求解过程,求解过程如下所示,由于原版英文文献的计算过…...
MarsCode青训营打卡Day1(2025年1月14日)|稀土掘金-16.最大矩形面积问题
资源引用: 最大矩形面积问题 - MarsCode 打卡小记录: 今天是开营第一天,和小伙伴们组成了8人的团队,在接下来的数十天里相互监督,打卡刷题! 稀土掘金-16.最大矩形面积问题(16.最大矩形面积问题…...
我的世界-与门、或门、非门等基本门电路实现
一、红石比较器 (1) 红石比较器结构 红石比较器有前端单火把、后端双火把以及两个侧端 其中后端和侧端是输入信号,前端是输出信号 (2) 红石比较器的两种模式 比较模式 前端火把未点亮时处于比较模式 侧端>后端 → 0 当任一侧端强度大于后端强度时,输出…...
【FISCO BCOS】二十三、部署WeBASE-Node-Manager
WeBASE-Node-Manager是WeBASE的子组件之一,可以处理前端页面所有web请求,管理各个节点的状态,管理链上所有智能合约,对区块链的数据进行统计、分析,对异常交易的审计,私钥管理等,今天我们来部署WeBASE-Node-Manager。 环境:ubuntu 22 、已搭建单机四节点(节点已启动)…...
app版本控制java后端接口版本管理
java api version 版本控制 java接口版本管理 1 自定义 AppVersionHandleMapping 自定义AppVersionHandleMapping实现RequestMappingHandlerMapping里面的方法 public class AppVersionHandleMapping extends RequestMappingHandlerMapping {Overrideprotected RequestCondit…...
Go语言strings包与字符串操作:从基础到高级的全面解析
Go语言strings包与字符串操作:从基础到高级的全面解析 引言 Go语言以其简洁、高效和强大的标准库而闻名,其中strings包是处理字符串操作的核心工具。本文将深入探讨Go语言中strings包的功能及其在实际开发中的应用,帮助开发者更好地理解和使用这一工具。 1. strings包概述…...
使用redis-cli命令实现redis crud操作
项目场景: 线上环境上redis中的key影响数据展示,需要删除。但环境特殊没办法通过 redis客户端工具直连。只能使用redis-cli命令来实现。 操作步骤: 1、确定redis安装的服务器; 2、找到redis的安装目录下 ##找到redis安装目…...
Ubuntu升级Linux内核教程
本文作者CVE-柠檬i: CVE-柠檬i-CSDN博客 本文使用的方法是dpkg安装,目前版本为5.4.0-204,要升级成5.8.5版本 下载 下载网站:https://kernel.ubuntu.com/mainline/ 在该网站下载deb包,选择自己想要升级的版本,这里是5…...
5、docker-compose和docker-harbor
安装部署docker-compose 自动编排工具,可以根据dockerfile自动化的部署docker容器。是yaml文件格式,注意缩进。 1、安装docker-compose 2、配置compose配置文件docker-compose.yml 3、运行docker-compose.yml -f:指定文件,up&…...
Leetcode3097:或值至少为 K 的最短子数组 II
题目描述: 给你一个 非负 整数数组 nums 和一个整数 k 。 如果一个数组中所有元素的按位或运算 OR 的值 至少 为 k ,那么我们称这个数组是 特别的 。 请你返回 nums 中 最短特别非空 子数组的长度,如果特别子数组不存在,那么返…...
HTML应用指南:利用GET请求获取全国特斯拉充电桩位置
随着电动汽车的普及,充电基础设施的建设变得至关重要。作为电动汽车领域的先驱,特斯拉不仅在车辆技术创新上持续领先,还积极构建广泛的充电网络,以支持其不断增长的用户群体。为了提升用户体验和服务质量,开发人员和数…...
阿里云通义实验室自然语言处理方向负责人黄非:通义灵码2.0,迈入 Agentic AI
通义灵码是基于阿里巴巴通义大模型研发的AI 智能编码助手,在通义灵码 1.0 时代,我们针对代码的生成、补全和问答,通过高效果、低时延,研发出了国内最受欢迎的编码助手。 在通义灵码 2.0 发布会上,阿里云通义实验室自然…...
第8篇:从入门到精通:掌握Python异常处理
第8篇:异常处理 内容简介 本篇文章将深入探讨Python中的异常处理机制。您将学习异常的基本概念与类型,掌握使用try-except块处理异常的方法,了解finally语句的作用,以及如何抛出和定义自定义异常。通过丰富的代码示例࿰…...
设计模式-结构型-装饰器模式
装饰器模式(Decorator Pattern)是结构型设计模式中的一种,它允许你通过将对象封装在一个新的对象中,来动态地添加新的功能,而无需改变原对象的结构。装饰器模式的核心思想是“将功能附加到对象上”,它是一种…...
git详细使用教程
文章目录 一、 git介绍与安装1、git介绍2、git的安装3、git使用前的说明 二、git的基础使用1、走进git之前2、git基础使用1、git init 项目初始化(init)成仓库(repository)2、git add 管理文件3、git commit 把文件提交到仓库&…...
java实现word转html(支持docx及doc文件)
private final static String tempPath "C:\\Users\\xxx\\Desktop\\Word2Html\\src\\test\\";//图片及相关文件保存的路径public static void main(String argv[]) {try {JFileChooser fileChooser new JFileChooser();fileChooser.setDialogTitle("Select a …...
搜维尔科技:Xsens人形机器人解决方案的优势
Xsens 致力于推动人形机器人技术的发展,塑造机器人与人类环境无缝融合的未来,通过创新精确和协作,协助生产和服务,改善人类生活和产业。 Xsens通过人形跟随捕捉详细的人体运动数据,使机器人能够学习类人的动作&#x…...
【王树森搜索引擎技术】概要01:搜索引擎的基本概念
1. 基本名词 query:查询词SUG:搜索建议文档:搜索结果标签/筛选项 文档单列曝光 文档双列曝光 2. 曝光与点击 曝光:用户在搜索结果页上看到文档,就算曝光文档点击:在曝光后,用户点击文档&…...
《Java核心技术II》可中断套接字
4.2.4 可中断套接字 SocketChannel可以中断套接字 SocketChannel channel.open(new InetSocketAddress(host,port)); 通道(channel)并没有与之相关联的流,实际上,所拥有的read和write方法都是通过Buffer对象实现的。 如果不想处理缓冲区,…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
el-switch文字内置
el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...
TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案
一、TRS收益互换的本质与业务逻辑 (一)概念解析 TRS(Total Return Swap)收益互换是一种金融衍生工具,指交易双方约定在未来一定期限内,基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...
汇编常见指令
汇编常见指令 一、数据传送指令 指令功能示例说明MOV数据传送MOV EAX, 10将立即数 10 送入 EAXMOV [EBX], EAX将 EAX 值存入 EBX 指向的内存LEA加载有效地址LEA EAX, [EBX4]将 EBX4 的地址存入 EAX(不访问内存)XCHG交换数据XCHG EAX, EBX交换 EAX 和 EB…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
【Java学习笔记】BigInteger 和 BigDecimal 类
BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点:传参类型必须是类对象 一、BigInteger 1. 作用:适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
