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

mysql——基础知识

关键字大小写不敏感

查看表结构中的 desc = describe 描述

降序中的 desc = descend

1. 数据库的操作

1. 创建数据库

create database 数据库名;

为防止创建的数据库重复

CREATE DATABASE IF NOT EXISTS 数据库名;

手动设置数据库采用的字符集

character set 字符集名;charset 字符集名;

char : unicode

String : utf8mb4(推荐使用 utf8mb4,完整支持 Unicode,包括表情符号)

            utf8(残本,不支持emoji表情符号)

指定数据库字符集的校验规则

collate 排序规则;

2. 查看数据库

show databases ;

3. 选中要使用的数据库

use 数据库名;

4. 删除数据库

drop database 数据库名;
数据库删除以后,内部看不到对应的数据库,里边的表和数据全部被删除

1. 常用数据类型

一、数值类型

1. 整数类型

类型字节有符号范围无符号范围
TINYINT1-128 ~ 1270 ~ 255
SMALLINT2-32,768 ~ 32,7670 ~ 65,535
MEDIUMINT3-8,388,608 ~ 8,388,6070 ~ 16,777,215
INT/INTEGER4-2,147,483,648 ~ 2,147,483,6470 ~ 4,294,967,295
BIGINT8-2^63 ~ 2^63-10 ~ 2^64-1

2. 浮点数类型

类型字节说明
FLOAT4单精度浮点数,约7位精度
DOUBLE8双精度浮点数,约15位精度

3. 定点数类型

类型说明
DECIMAL(M,D)精确小数,M是总位数,D是小数位数

精度高,运算速度慢,占的空间大

二、字符串类型

1. 短文本

类型最大长度特点
CHAR(n)255字符固定长度,效率高
VARCHAR(n)65,535字节可变长度,节省空间

n 表示该类型最多存储多少个字符(不是字节),一个汉字算一个字符

2. 长文本

类型最大长度特点
TINYTEXT255字节
TEXT65,535字节
MEDIUMTEXT16,777,215字节
LONGTEXT4GB

3. 二进制数据

类型说明
BINARY(n)固定长度二进制字符串
VARBINARY(n)可变长度二进制字符串
BLOB二进制大对象

文本数据存储的都是字符,这些字符都可以在对应的码表上查到

二进制数据:在码表上查不到的如音乐,图片,视频

三、日期时间类型

数据类型存储大小格式范围(最小值 ~ 最大值)
YEAR1字节YYYY1901 ~ 2155
DATE3字节YYYY-MM-DD1000-01-01 ~ 9999-12-31
TIME3字节HH:MM:SS-838:59:59 ~ 838:59:59
DATETIME5字节YYYY-MM-DD HH:MM:SS1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
TIMESTAMP4字节YYYY-MM-DD HH:MM:SS1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC

2. 表操作

需要操作数据库中的表时,需要先使用该数据库: use 数据库名;

1. 创建表

create table 表名(
列名 数据类型[约束条件],
列名 数据类型[约束条件],
...
);

2. 查看表结构

desc 表名;

int(11) 是四个字节,此处(11)表示显示宽度,即显示这个int类型时,最多占据11个字符的宽度(和存储时的容量无关)。

3. 删除表

drop table 表名;

删除表的同时,表中的数据也一并删除。

3. 表数据操作

1. 新增数据

值的个数和类型要和表结构匹配

   1. 单行数据 + 全列插入(即在表中插入一行数据)

insert into 表名 values (值1,值2,值3...);
    2. 多行数据 + 全列插入(即在表中插入多行数据)
insert into 表名 values (值1,值2,值3...),(值1,值2,值3...),(值1,值2,值3...),...;
3. 单 行数据 + 指定列插入
insert into 表名 (列1,列2,...) values (值1,值2,...);
    4. 多行数据 + 指定列插入
insert into 表名 (列1,列2,...) values (值1,值2,...),(值1,值2,...),...;

2. 查询数据

mysql是一个“客户端 - 服务器”结构的程序

客户端在这里进行的操作,都会通过请求发送给服务器,服务器查询的结果也会通过响应返回给客户端(以临时表的形式)

SQL 查询的逻辑执行顺序:

  1. FROM 子句 - 确定数据来源

  2. JOIN 子句 - 连接相关表

  3. WHERE - 行级过滤(此时不能使用SELECT中定义的别名)

  4. GROUP BY - 数据分组

  5. HAVING - 分组后过滤

  6. SELECT - 计算列表达式并选择列

  7. DISTINCT 关键字- 去重

  8. ORDER BY - 排序(可以使用SELECT中定义的别名)

  9. LIMIT /OFFSET- 结果集限制

SELECT [DISTINCT] 列1 [as 别名] , 列2 [as 别名], ...
FROM 表名
[WHERE 条件]
[GROUP BY 分组列]
[HAVING 分组条件]
[ORDER BY 排序列 [ASC|DESC]]
[LIMIT [偏移量,] 行数];

1. 全列查询

select * from 表名;

如果数据库当前这个表中的数据特别多,就可能会产生问题:

1. 读取硬盘,把硬盘的IO给跑满了,此时程序的其他部分想访问硬盘,就会非常慢。

2. 操作网络,也可能把网卡的带宽跑满,此时其他客户端想通过网络访问服务器,也会非常慢

这样的拥堵,就可能导致客户端无法顺利访问到数据库,进一步也就对整个服务器造成影响(相当于数据库服务器挂了)

2. 指定列查询

select 列1,列2,... from 表名;

3. 表达式查询

是列与列之间的运算

select 表达式1,表达式2,... from 表名;

 4. 去重:DISTINCT

使用 DISTINCT关键字对数据进行去重
放在SELECT之后
select distinct 列1,列2... from 表名;

5. 别名

为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称

列的别名不能在ORDER BY中直接使用(在某些MySQL版本中)

SELECT [DISTINCT] 列1 [[as] 别名] , 列2 [[as] 别名], ... FROM 表名;

6. 排序:order by

SC 为升序(从小到大)
DESC 为降序(从大到小)
默认为 ASC
select 列1,列2... from 表名order by 列名 [asc/desc],列名 [asc/desc]...;
1. 没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序
2. NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面

3. 可以对多个字段进行排序,排序优先级随书写顺序

7. 条件查询:where

select 列名 from 表名 where 约束条件;
比较运算符:
运算符描述
=等于, NULL 不安全,例如 NULL = NULL 的结果是 NULL
<=>
等于, NULL  安全,例如 NULL <=> NULL 的结果是 TRUE(1)
<> 或 !=不等于
>大于
<小于
>=大于等于
<=小于等于
BETWEEN a0 AND a1
范围匹配, [a0, a1] ,如果 a0 <= value <= a1 ,返回 TRUE(1)
IN(option,...)在指定值列表中,如果是 option 中的任意一个,返回 TRUE(1)
LIKE模糊匹配,% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字
IS NULL是空值
IS NOT NULL不是空值
模糊匹配:
SELECT * FROM 表名 WHERE 列名 LIKE '模式';

% 表示任意多个(包括 0 个)任意字符;

_ 表示任意一个字符

逻辑运算符:

AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分

 8. 分页查询

始终结合 ORDER BY 使用分页,否则结果顺序不确定

select 列名 from 表名 limit 每页记录数 offset 偏移量;select 列名 from 表名 limit 偏移量, 每页记录数;

当前页码(page)和每页大小(pageSize)

偏移量(offset) = (page - 1) * pageSize

每页记录数 = pageSize

3. 修改数据

UPDATE 表名 
SET 列名1 = 值1, 列名2 = 值2, ...
[WHERE 条件]
[ORDER BY 列名]
[LIMIT 行数];

将名字为null改为信阳毛尖

怎样查看警告:

show warnings;

4. 删除数据

DELETE FROM 表名 
[WHERE 条件]
[ORDER BY 列名]
[LIMIT 行数];
delete from 表名;

如果删除数据时不加任何约束条件,则将整个表中的数据全部删除,只留空表。

在修改和删除数据中,limit 行数; 表示共删除或修改几行。

4. 数据库约束

在创建表时使用

约束类型:
NOT NULL - 指示某列不能存储 NULL 值。
UNIQUE - 保证某列的每行必须有唯一的值。
DEFAULT - 规定没有给列赋值时的默认值。
PRIMARY KEY - NOT NULL UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
CHECK - 保证列中的值符合指定的条件。

1. 非空约束 (NOT NULL)

作用:确保列不能包含NULL值

特点

  • 强制字段必须有值

  • 可以在ALTER TABLE时添加或删除

2.  唯一约束 (UNIQUE)

作用:确保列中的值唯一

特点

  • 允许NULL值(但只能有一个NULL)

  • 一个表可以有多个唯一约束

  • 自动创建非聚集索引

3.  默认约束 (DEFAULT)

作用:当插入数据未指定值时提供默认值,默认情况下为null.

特点

  • 可以是常量值或表达式

  • 适用于INSERT和UPDATE操作

4. 主键约束 (PRIMARY KEY)

作用:唯一标识表中的每一行记录,确保实体完整性

特点

  • 不允许NULL值

  • 不允许重复值

  • 一个表只能有一个主键

  • 自动创建聚集索引

5. 外键约束 (FOREIGN KEY)

作用:维护表之间的引用完整性

特点

  • 确保一个表的值必须在另一个表中存在

  • 可以定义级联操作

  • 引用列必须是主键或唯一键

父表:约束别人的表

子表:被别人约束的表

CREATE TABLE 子表名 (列定义...,[CONSTRAINT 约束名] FOREIGN KEY (外键列) REFERENCES 主表名(主表列)[ON DELETE 参照动作][ON UPDATE 参照动作]
);

外键约束动作

当主表数据被删除或更新时,可以指定子表数据的处理方式:

动作描述
RESTRICT(默认)拒绝主表的删除或更新操作
CASCADE级联操作,主表删除/更新时,子表对应记录也删除/更新
SET NULL主表删除/更新时,子表对应外键列设为NULL(需允许NULL)
NO ACTION类似RESTRICT
SET DEFAULT

设为默认值(MySQL目前不支持)

针对父表的 删除/修改 操作,如果当前被 删除/修改 的值,已经被子表引用了,则无法进行此操作

外键约束要始终保持,子表中的数据在对应的父表的列中要存在。

如果父表不存在,子表添加元素时无参考依据

指定外键约束,时,父表中被关联的一列必须为主键或unique。

逻辑删除:

如果要删除与子表关联的父表元素,我们可以多设置一列进行条件约束。

6. 检查约束 (CHECK)

作用:确保列值满足指定条件

特点

  • MySQL 8.0.16+ 完全支持

  • 可以引用多列

  • 条件不满足时拒绝操作

7. 自增约束 (AUTO_INCREMENT)

作用:自动为列生成唯一递增整数值(会自动排序),必须作用与键

特点

  • 通常用于主键

  • 每张表只能有一个自增列

  • 默认从1开始,每次增加1

  • 支持整数类型(INT, SMALLINT, BIGINT等)

  • 自增列不保证连续:删除记录后,自增值不会重用

相关文章:

mysql——基础知识

关键字大小写不敏感 查看表结构中的 desc describe 描述 降序中的 desc descend 1. 数据库的操作 1. 创建数据库 create database 数据库名;为防止创建的数据库重复 CREATE DATABASE IF NOT EXISTS 数据库名;手动设置数据库采用的字符集 character set 字符集名;chars…...

UE虚幻4虚幻5动画蓝图调试,触发FellOutOfWorld事件和打印输出,继续DeepSeek输出

找到了一个pdf&#xff0c;本来想写个翻译的&#xff0c;但还是算了&#xff0c;大概看了下&#xff0c;这类文档很全面&#xff0c;内容很多&#xff0c;但都不是我要的&#xff0c;我想要一个动画蓝图&#xff0c;搜索Montage&#xff0c;或者Anim 只占了一行&#xff08;几百…...

52单片机LED实验

文章目录 前言点亮一个LEDLED闪烁 LED灯亮灭交替LED流水灯 前言 我所用的板子是普中的STC89C52RC&#xff0c;创建文件的过程中如果你发现keil文件找不到单片机依赖&#xff0c;那怎么办呢 下面从创建新项目讲起 首先打开keil软件&#xff0c;点击project new一个新的projec…...

【C++详解】C++入门(一)命名空间、缺省参数、函数重载

文章目录 一、命名空间命名空间的基本特性命名空间的使用 二、C输入输出用法三、缺省参数(默认参数)定义用法 四、函数重载 一、命名空间 命名空间的基本特性 #include <stdio.h> #include <stdlib.h>int rand 10;int main() {// 编译报错&#xff1a;error C23…...

AWS Linux快速指南:5分钟搭建多用户图形界面

一、概述 本指南将帮助您在AWS上快速部署一个支持多用户、带图形界面和浏览器的Linux环境。我们将使用Ubuntu Server作为基础,配合轻量级的Xfce桌面环境和VNC服务。同时,我们还将提供不同用户规模下的实例规格推荐。 二、实例规格推荐 根据您的用户规模,我们推荐以下EC2实例…...

kotlin,编码、解码

kotlin写程序确实简洁&#xff0c;就是函数式编程对我这种用惯了过程的&#xff0c;换思想有难度。package org.exampleimport java.io.File import java.io.FileNotFoundExceptionval byteToHanzi mapOf(0x00 to "凡", 0x01 to "周", 0x02 to "张&q…...

从零创建 Docker 镜像(基于 OCI 格式)

更现代的 OCI 镜像格式&#xff0c;采用了 OCI Image Format Specification&#xff0c;其中文件引用使用 blobs/sha256/<hash> 的形式&#xff0c;层和配置存储在 blobs/sha256/ 目录下&#xff0c;并且包含 LayerSources 字段。这种格式在较新的 Docker 版本和 OCI 兼容…...

JavaScript 版本号比较

问题描述&#xff1a; 实现 &#xff1a; <script>const compare function(v1,v2){const arr1 v1.split(.)const arr2 v2.split(.)for(let i 0;i<arr1.length||i<arr2.length;i){const a arr1[i]||0const b arr2[i]||0if(a>b){return 1}else if(a<b){…...

MySQL为什么默认使用RR隔离级别?

大家好&#xff0c;我是锋哥。今天分享关于【MySQL为什么默认使用RR隔离级别?】面试题。希望对大家有帮助&#xff1b; MySQL为什么默认使用RR隔离级别? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 MySQL 默认使用 RR&#xff08;Repeatable Read&#xff09;…...

第37讲|AI+农业气象建模:预测极端天气对农业的影响

目录 ✨ 导语:天气不可控,但影响可以预测 📦 一、数据准备:融合农业与气象 ⚡ 二、极端天气如何“定义”? 🔧 三、模型选择与结构设计 🔁 时间序列模型:LSTM 🎯 非时序模型:XGBoost / LightGBM 🧪 四、案例实战:用LSTM预测小麦产量下降风险(受极端天气…...

(done) 吴恩达版提示词工程 1. 引言 (Base LLM 和 Instruction Tuned LLM)

url: https://www.bilibili.com/video/BV1Z14y1Z7LJ/?spm_id_from333.337.search-card.all.click&vd_source7a1a0bc74158c6993c7355c5490fc600 LLM 有两种&#xff1a; 1.基础 LLM&#xff0c;通过文本训练数据预测后面的内容。 这种 LLM 当你给它提问&#xff1a;What is…...

Vue如何实现样式隔离

1. 使用 CSS Modules CSS Modules 允许你在 Vue 组件中定义局部作用域的 CSS&#xff0c;这样可以避免全局样式的冲突 步骤如下&#xff1a; 在你的 Vue 组件中&#xff0c;创建一个 <style> 标签并添加 module 属性。 <template><div :class"$style.c…...

Sentinel源码—6.熔断降级和数据统计的实现二

大纲 1.DegradeSlot实现熔断降级的原理与源码 2.Sentinel数据指标统计的滑动窗口算法 2.Sentinel数据指标统计的滑动窗口算法 (1)滑动窗口介绍 (2)StatisticSlot使用滑动窗口算法进行数据统计 (1)滑动窗口介绍 一.滑动窗口原理 滑动窗口不会指定固定的时间窗口起点与终点…...

B+树删除和测试

B树删除和测试 5.1 高级接口&#xff1a;B 树作为键值存储 在本章中&#xff0c;我们将实现 B 树的高级接口&#xff0c;使其能够作为键值存储&#xff08;Key-Value Store&#xff09;使用。这些接口包括插入和删除操作&#xff0c;并处理根节点的维护。 1. 插入接口 1.1 I…...

常用算法解析:从基础排序到图论应用

一、算法基础与设计原则 算法是计算机解决问题的核心工具&#xff0c;其五大基本特性决定了程序的可靠性&#xff1a; 有穷性&#xff1a;算法必须能在有限步骤内终止确定性&#xff1a;每步操作无歧义可行性&#xff1a;可被计算机执行输入输出&#xff1a;具备数据交互能力…...

Java Web项目(一)

框架 java web项目总工分为两部分&#xff1a;客户端&#xff08;前端&#xff09;和服务端&#xff08;后端&#xff09; 客户端发起请求&#xff0c;服务端接受请求并进行处理 发起请求的方式&#xff1a;from表单、jQuery ajax from表单 造成全局的变化&#xff0c;在发…...

兴达易控DP主站网关数据映射快速配置案例

兴达易控DP主站网关数据映射快速配置案例 在工业自动化的领域&#xff0c;不同通讯协议之间的转换是常见的需求。特别是Profibus DP与Modbus-RTU这两种广泛应用于不同系统和设备的通讯协议&#xff0c;它们之间的数据转换显得尤为重要。本文将详细探讨兴达易控Profibus DP主站…...

Tailwindcss 入门 v4.1

以 react 为例&#xff0c;步骤如下&#xff1a; npm create vitelatest my-app -- --template react 选择 React 和 JavaScript 根据上述命令的输出提示&#xff0c;运行以下命令 cd my-app npm install npm run dev 一个 React App 初始化完成。 安装 Tailwindcss theme …...

通过 WebSocket 接收和播放 WSS 协议视频流

1.创建wss协议视频 1.1必备包 npm install ws ffmpeg-installer/ffmpeg fluent-ffmpeg 说明&#xff1a;安装以下三个包。 1.2代码实现 说明&#xff1a;创建WebSocket服务器&#xff0c;端口为8080 import { WebSocket, WebSocketServer } from ws; // 导入 WebSocket 和 W…...

HTML 如何改变字体颜色?深入解析与实践指南

网页上的字体颜色是网页设计中至关重要的元素之一&#xff0c;它像字体大小一样&#xff0c;对于提升用户体验起着举足轻重的作用。精心选择和运用字体颜色&#xff0c;能够增强页面的可读性、突出重点信息、营造特定的情感氛围&#xff0c;甚至直接影响用户的视觉感受和品牌认…...

tigase源码学习杂记-组件化设计

前言 tigase官方号称高度抽象和组件化。这篇文章就记录一下我研究组件化的相关设计 概述 我的理解tigase高度组件化是所有的关键的功能的类&#xff0c;它都称之为组件&#xff0c;即只要继承于BasicComponent&#xff0c;它都可以成为组件&#xff0c;BasicComponent类实现…...

十二、人工神经网络及其应用

写在前面 这部分内容老师说很重要,不管是实验还是考试占比都非常大 AIGC的全称是“Artificial Intelligence Generated Content”,即人工智能生成内容。这一术语通常用于指代通过人工智能技术自动生成的各种类型的内容,如文本、图像、音频和视频等。随着AI技术的发展,AIG…...

vscode使用技巧

一、符号定位技巧 ‌跳转到定义‌ F12 或右键「Go to Definition」跳转到符号定义位置‌CtrlClick 直接点击符号跳转&#xff08;支持变量/函数/类&#xff09; ‌符号大纲视图‌ CtrlShiftO 打开文件符号大纲&#xff0c;支持模糊搜索符号名‌输入: 分类显示符号&#xff08;…...

测试基础笔记第七天

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、cat命令二、ls -al命令三、>重定向符号四、>>追加重定向符号五、less/more命令六、grep命令七、|管道符八、clear命令九、head命令十、tail命令十一、…...

FOC控制中的正弦PWM和空间矢量PWM对比与理解

参考&#xff1a; simple foc&#xff1a;https://docs.simplefoc.com/docs_chinese/foc_theory博客&#xff1a;https://blog.csdn.net/qq_43332314/article/details/126449398 一、无刷电机基础原理 1.&#xff0c; 原理图&#xff1a;至少三个绕组线圈&#xff08;定子&…...

【Oracle专栏】函数中SQL拼接参数 报错处理

Oracle相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 1.背景 最近同事反馈了一个很奇怪的问题,即有一个函数,入参是当前年月,主要作用是通过SQL语句将不合规的数据插入到指定表中,插入数据时带上入参的年月参数。当前问题:单独测试SQL没有问题可以执行成功,…...

无意间发现的宝藏项目:开源世界中的演示项目精选合集

&#x1f31f;无意间发现的宝藏项目&#xff1a;开源世界中的演示项目精选合集 最近在 GitHub 上随手翻了翻 Spring 官方代码仓库&#xff0c;意外发现一个超有趣的演示项目 —— spring-petclinic。一个轻量但结构完整的 Spring 全家桶演示&#xff0c;让人忍不住一探究竟。 这…...

OpenCSG AutoHub v0.5.0 版本发布

OpenCSG AutoHub v0.5.0 版本发布 作为一款智能化自动化操作的浏览器插件&#xff0c;AutoHub不断致力于为用户提供更加高效、便捷的网页浏览体验。本次 v0.5.0版本 的发布&#xff0c;不仅进一步强化了核心功能&#xff0c;还引入了一些创新特性&#xff0c;旨在帮助用户更智…...

基于Python智能体API的Word自动化排版系统:从零构建全流程模块化工作流与版本控制研究

基于Python智能体API的Word自动化排版系统:从零构建全流程模块化工作流与版本控制实践研究 1. 引言2. 研究背景与意义3. 自动排版工作流的设计原理3.1 文档内容提取与解析3.2 样式参数与格式化规则3.3 智能体API接口调用3.4 自动生成与批量处理3.5 与生成式AI的协同4. 系统架构…...

在 Node.js 中设置响应的 MIME 类型

在 Node.js 中设置响应的 MIME 类型是为了让浏览器正确解析服务器返回的内容&#xff0c;比如 HTML、CSS、图片、JSON 等。我们通常通过设置响应头中的 Content-Type 字段来完成。 ✅ 一、什么是 MIME 类型&#xff08;Content-Type&#xff09;&#xff1f; MIME&#xff08;…...

jsch(shell终端Java版)

学习笔记 Java SSH库使用简介&#xff1a;Apache sshd和JSch&#xff08;Java Secure Channel&#xff09; github - fork of the popular jsch library JSch学习笔记 web-shell - gitee代码 - 纯Java实现一个web shell登录Linux远程主机&#xff0c;技术选型 SpringBoot …...

Redis分布式锁RedLock机制详解

一、RedLock机制解决的问题 核心场景&#xff1a;解决传统Redis单节点/主从架构下分布式锁的不可靠问题。当主节点故障时&#xff0c;若从节点未同步锁信息&#xff0c;可能导致多个客户端同时持有锁&#xff0c;破坏互斥性。 典型问题案例&#xff1a; 主从切换锁丢失&…...

Vivado中Tri_mode_ethernet_mac的时序约束、分析、调整——(五)调试注意的问题

一、几个注意点 1、每个bank中IO的组织形式 1Bank的52Pins分4 Byte Group&#xff0c;每Byte Group 13PinsNibble_up 7Pins Nibble_low 6Pins。 每个nibble一个bitslice_control管理自己的6~7个pins 。 每个pin对应一个bitslice&#xff0c;它内部又包含多个component&#…...

MFC文件-写MP4

下载本文件 本文件将创作MP4视频文件代码整合到两个文件中&#xff08;Mp4Writer.h和Mp4Writer.cpp)&#xff0c;将IYUV视频流&#xff0c;PCM音频流写入MP4文件。本文件仅适用于MFC程序。 使用方法 1.创建MFC项目。 2.将Mp4Writer.h和Mp4Writer.cpp文件复制到项目目录下。 3…...

PyTorch 深度学习实战(39):归一化技术对比(BN/LN/IN/GN)

在上一篇文章中&#xff0c;我们全面解析了注意力机制的发展历程。本文将深入探讨深度学习中的归一化技术&#xff0c;对比分析BatchNorm、LayerNorm、InstanceNorm和GroupNorm四种主流方法&#xff0c;并通过PyTorch实现它们在图像分类和生成任务中的应用效果。 一、归一化技术…...

C#/.NET/.NET Core技术前沿周刊 | 第 35 期(2025年4.14-4.20)

前言 C#/.NET/.NET Core技术前沿周刊&#xff0c;你的每周技术指南针&#xff01;记录、追踪C#/.NET/.NET Core领域、生态的每周最新、最实用、最有价值的技术文章、社区动态、优质项目和学习资源等。让你时刻站在技术前沿&#xff0c;助力技术成长与视野拓宽。 欢迎投稿、推荐…...

柱状图QCPBars

一、QCPBars 概述 QCPBars 是 QCustomPlot 中用于绘制柱状图/条形图的类&#xff0c;支持单组或多组柱状图显示&#xff0c;可自定义宽度、颜色和间距等属性。 二、主要属性 属性类型描述widthdouble柱子的宽度&#xff08;坐标轴单位&#xff09;widthTypeWidthType宽度计算…...

2025-04-20 李沐深度学习4 —— 自动求导

文章目录 1 导数拓展1.1 标量导数1.2 梯度&#xff1a;向量的导数1.3 扩展到矩阵1.4 链式法则 2 自动求导2.1 计算图2.2 正向模式2.3 反向模式 3 实战&#xff1a;自动求导3.1 简单示例3.2 非标量的反向传播3.3 分离计算3.4 Python 控制流 硬件配置&#xff1a; Windows 11Inte…...

Nginx在微服务架构项目(Spring Cloud)中的强大作用

文章目录 一、Nginx是什么&#xff1f;二、Nginx在微服务架构&#xff08;Spring Cloud&#xff09;项目中的作用1.前端静态资源托管2.反向代理后端 API3.负载均衡4.SSL 证书与 HTTPS 支持5.缓存与压缩优化6.安全防护7.灰度发布与流量控制8.跨域处理&#xff08;CORS&#xff0…...

Mysql相关知识2:Mysql隔离级别、MVCC、锁

文章目录 MySQL的隔离级别可重复读的实现原理Mysql锁按锁的粒度分类按锁的使用方式分类按锁的状态分类 MySQL的隔离级别 在 MySQL 中&#xff0c;隔离级别定义了事务之间相互隔离的程度&#xff0c;用于控制一个事务对数据的修改在何时以及如何被其他事务可见。MySQL 支持四种…...

解决IDEA创建SpringBoot项目没有Java版本8

问题&#xff1a;idea2023版本创建springboot的过程中&#xff0c;选择java版本时发现没有java8版本&#xff0c;只有java17和java20 原因&#xff1a;spring2.X版本在2023年11月24日停止维护了&#xff0c;因此创建spring项目时不再有2.X版本的选项&#xff0c;只能从3.1.X版本…...

第十章:Agent 的评估、调试与可观测性:确保可靠与高效

引言 随着我们一步步构建出越来越复杂的 AI Agent&#xff0c;赋予它们高级工具和更智能的策略&#xff0c;一个至关重要的问题浮出水面&#xff1a;我们如何知道这些 Agent 是否真的有效、可靠&#xff1f;当它们行为不符合预期时&#xff0c;我们又该如何诊断和修复问题&…...

8节串联锂离子电池组可重构buck-boost均衡拓扑结构 simulink模型仿真

8节串联锂离子电池组 极具创新性 动态分组均衡策略&#xff0c;支持3种均衡模式 1.最高SOC电池给最低SOC电池均衡 2.高能电池组电池给最低SOC电池均衡 3.高能电池组电池给低能电池组电池均衡 支持手动设置均衡开启阈值和终止阈值 均衡效果非常好...

Oracle EBS COGS Recognition重复生成(一借一贷)

背景 月结用户反馈“发出商品”(实际为递延销货成本)不平,本月都是正常操作月结程序,如正常操作步骤如下: 记录订单管理事务处理 (Record Order Management Transactions)收集收入确认信息 (Collect Revenue Recognition Information)生成销货成本确认事件 (Generate COGS …...

Linux命令--将控制台的输入写入文件

原文网址&#xff1a;Linux命令--将控制台的输入写入文件-CSDN博客 简介 本文介绍Linux将控制台的输入写入文件的方法。 方案1&#xff1a;cat > file1&#xff08;推荐&#xff09; 普通用法 cat > file1 输入结束后&#xff0c;用CtrlD退出。 示例 使用root权限…...

使用BQ76PL455和STM32的SAE电动方程式电动汽车智能BMS

BMS对任何电动汽车来说都是必不可少的&#xff0c;它可以监控电池的行为&#xff0c;确保安全行驶。 该项目旨在降低成本&#xff0c;同时为每个电池模块提供可扩展的BMS。BQ76PL455具有监测6-16个单元的能力&#xff0c;8通道辅助输入(用于温度监测)和多达15个其他ic用于Daisy…...

OpenCV 模板与多个对象匹配方法详解(继OpenCV 模板匹配方法详解)

文章目录 前言1.导入库2.图片预处理3.输出模板图片的宽和高4.模板匹配5.获取匹配结果中所有符合阈值的点的坐标5.1 threshold 0.9&#xff1a;5.2 loc np.where(res > threshold)&#xff1a; 6.遍历所有匹配点6.1 loc 的结构回顾6.2 loc[::-1] 的作用6.2.1 为什么需要反转…...

7.0/Q1,Charls最新文章解读

文章题目&#xff1a;Anti-hypertensive medication adherence, socioeconomic status, and cognitive aging in the Chinese community-dwelling middle-aged and older adults ≥ 45 years: a population-based longitudinal study DOI&#xff1a;10.1186/s12916-025-03949-…...

【第三十二周】CLIP 论文阅读笔记

CLIP 摘要Abstract文章信息引言方法预训练推理Q&A 关键代码实验结果总结 摘要 本篇博客介绍了CLIP&#xff08;Contrastive Language-Image Pre-training&#xff09;&#xff0c;这是OpenAI于2021年提出的多模态预训练模型&#xff0c;其核心思想是通过对比学习将图像与文…...

在 Ubuntu 系统上安装 PostgreSQL

在 Ubuntu 系统上安装 PostgreSQL 的完整指南&#xff1a; 一、安装 PostgreSQL&#xff08;最新版本&#xff09; 1. 更新软件包列表&#xff1a; bash sudo apt update 2. 安装 PostgreSQL 和客户端工具&#xff1a; bash sudo apt install postgresql po…...