增删改查(CRUD)操作

文章目录

    • MySQL系列:
    • 1.CRUD简介
    • 2.Create(创建)
      • 2.1单行数据全列插入
      • 2.2 单行数据指定插入
      • 2.3 多⾏数据指定列插⼊
    • 3.Retrieve(读取)
      • 3.1 Select查询
        • 3.1.1 全列查询
        • 3.1.2 指定列查询
        • 3.1.3 查询字段为表达式(都是临时表不会对原有表数据产生影响)
        • 3.1.4为查询结果指定别名
        • 3.1.5查询结果去重
      • 3.2 where 条件查询
        • 比较运算符:
        • 逻辑运算符:
        • 3.2.1 where 基础查询
        • 3.2.2where 范围查询
        • 3.2.3 where 模糊查询
        • 3.2.4 where NULL查询
        • 3.2.5where AND,OR查询
      • 3.3 Order by查询
        • 3.3.1ASC查询
        • 3.3.2 desc查询
        • 3.3.3 ASC与desc查询
      • 3.4 分页查询
    • 4.Update(更新)
        • 4.1.1 改写指定单列数据
        • 4.1.2 改写指定多列数据
    • 5.Delete(删除)
        • 5.1.1指定单列删除
        • 5.1.2删除整张表,插入一张演示表
    • 6.总代码:

MySQL系列:

初识MySQL,MySQL常用数据类型和表的操作
有些前面博客提及的知识点这里都可以会省略,有兴趣的可以去观看前面内容。

1.CRUD简介

CRUD是对数据库中的记录进⾏基本的增删改查操作:
• Create (创建)
• Retrieve (读取)
• Update (更新)
• Delete (删除)

2.Create(创建)

语法: INSERT [INTO] table_name
[(column [, column] …)]
VALUES
(value_list) [, (value_list)] …
value_list: value, [, value] …

在这里插入图片描述
创建一个用于演示的表

2.1单行数据全列插入

value_list 中值的数量必须和定义表的列的数量及顺序⼀致
在这里插入图片描述
在这里插入图片描述

2.2 单行数据指定插入

value_list 中值的数量必须和指定列数量及顺序⼀致
在这里插入图片描述

2.3 多⾏数据指定列插⼊

在⼀条insert语句中也可以指定多个value_list,实现⼀次插⼊多⾏数据
在这里插入图片描述
在单行数据插入时推荐使用指定插入,当表数据多时可以更清楚的知道插入的内容.
指定位置去插入表属性的顺序也可以调换
在这里插入图片描述
注意插入时表属性不能缺少或者不赋值
在这里插入图片描述

Create(创建)代码:
#2.1单行数据全列插入

-- 插入第一行数据 
insert into user values (1,'刘1');
-- 插入第二行
insert into user values (2,'刘2');

#2.2单行数据指定插入
insert into user(id,name) values (3,'张三');

insert into user(name,id) values ('赵六',6);

#2.3 多行数据指定列插入
insert into user(id,name) values (4,'李四'),(5,'王五');

3.Retrieve(读取)

语法:
SELECT
[DISTINCT]
select_expr [, select_expr] …
[FROM table_references]
[WHERE where_condition]
[GROUP BY {col_name | expr}, …]
[HAVING where_condition]
[ORDER BY {col_name | expr } [ASC | DESC], … ]
[LIMIT {[offset,] row_count | row_count OFFSET offset}]

创建一个用于演示的表:
在这里插入图片描述

在这里插入图片描述

3.1 Select查询

3.1.1 全列查询

查询全部数据
在这里插入图片描述

3.1.2 指定列查询

查询所有人的编号、姓名和数学成绩
在这里插入图片描述
查询的顺序没有要求:
在这里插入图片描述

3.1.3 查询字段为表达式(都是临时表不会对原有表数据产生影响)

常量表达式:
在这里插入图片描述
也可以是常量的运算
在这里插入图片描述
表达式中包含⼀个字段(列于常量运算)
在这里插入图片描述
表达式中多个字段(列于列运算):
在这里插入图片描述

3.1.4为查询结果指定别名

语法:
1 SELECT column [AS] alias_name [, …] FROM table_name;
AS可以省略,别名如果包含空格必须⽤单引号包裹

将每个人的总分展示出来:
在这里插入图片描述

3.1.5查询结果去重

查看两条math为98的数据进行去重
在这里插入图片描述
去重的条件是所要求值全部相同
以下math相同但id分别为1,3
在这里插入图片描述
注意:

查询时不加限制条件会返回表中所有结果,如果表中的数据量过⼤,会把服务器的资源消耗殆尽

在⽣产环境不要使用不加限制条件的查询

Retrieve(Select )代码:

CREATE TABLE if not exists exam(
 id BIGINT,
 name VARCHAR(20) COMMENT '同学姓名',
 chinese float COMMENT '语文成绩',
 math float COMMENT '数学成绩',
 english float COMMENT '英语成绩'
);
-- 插入测试数据
INSERT INTO exam (id,name, chinese, math, english) VALUES
(1, '唐三藏', 67, 98, 56),
(2, '孙悟空', 87, 78, 77),
(3, '猪悟能', 88, 98, 90),
(4, '曹孟德', 82, 84, 67),
(5, '刘孟德', 55, 85, 45),
(6, '孙权', 70, 73, 78),
(7, '宋公明', 75, 65, 30);
#3.1.1 全列查询
#使用*可以查询表中所有列的值
select * from exam;
#3.1.2 指定列查询
#• 查询所有人的编号、姓名和数学成绩
select id,name,math from exam;
#查询的顺序没有要求:
select name,english,id from exam;

#  查询字段为表达式
#常量表达式:
select id,name,1 from exam;
#也可以是常量的运算
select id,name,1+1 from exam;
# 表达式中包含一个字段
select id,name,math+10 from exam;
#表达式中多个字段:
select id,name,chinese+math+english from exam;
# 3.1.3为查询结果指定别名
#将每个人的总分展示出来:
select id,name,chinese+math+english as 总分 from exam;
# 3.1.4查询结果去重
#查看两条math为98的数据进行去重
select math from exam;

3.2 where 条件查询

语法:
SELECT
select_expr [, select_expr] … [FROM table_references]
WHERE where_condition

比较运算符:

< , > , >= , <= 小于,大于,大于等于,小于等于

= MySQL中=同时代表赋值和判断 ,对于NULL不安全,NULL=NULL还是NULL

<=> 代表等于 对于NULL相对安全 NULL<=>NULL 结果为TRUE(1)

!= ,<> 代表不等于

IS NULL 是NULL

IS NOT NULL 不是NULL
在这里插入图片描述
value BETWEEN a0 AND a1
范围匹配,[a0, a1],如果a0 <= value <= a1,返回TRUE或1,NOT BETWEEN则取反

value IN (option, …) 如果value 在optoin列表中,则返回TRUE(1),NOT IN则取反

LIKE 模糊匹配,% 表⽰任意多个(包括0个)字符;_ 表⽰任意⼀个字符,NOT LIKE则取反

逻辑运算符:

AND 多个条件必须都为 TRUE(1),结果才是 TRUE(1)

OR 任意⼀个条件为 TRUE(1), 结果为 TRUE(1)

NOT 条件为 TRUE(1),结果为 FALSE(0)

3.2.1 where 基础查询

(1)查询语文<=70的
在这里插入图片描述

(2)查询数学高于语文的
在这里插入图片描述

(3)查询总分低于250的

在这里插入图片描述
这里我们需要了解select与from与where之间的优先级

首先执行的是from找到这个表,然后执行符合where条件的,
最后执行select返回在符合条件的要显示的列

所以是错误的当whiere执行时 total还没有被定义,select执行完后chinese+math+english as total 执行 total才定义完成
在这里插入图片描述

3.2.2where 范围查询

查询英语成绩在60~80之间的
在这里插入图片描述
查询数学成绩是 78 或者 79 或者 98 或者 99 分的同学及数学成绩
在这里插入图片描述

3.2.3 where 模糊查询

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

%表示所有,等于没有指定条件
%xxx,表示以xxx结束,前面可以包含任意多个字符
xxx%,表示以xxx开头,后面可以包含任意多个字符
%xxx%,前面和后面可以包含任意多个字符,中间必须有xxx

表示任意一个字符,

严格匹配 写多少个_就表示多少个字符

是一个占位符
表示只有一个字符
_ xxx,表示以xxx结束,前面可以包含一个字符
xxx _,表示以xxx开头,后面可以包含一个字符
_XXX _,前面和后面可以包含一个字符,中间必须是xxx

%系列:
在这里插入图片描述
_系列:
在这里插入图片描述

3.2.4 where NULL查询

在这里插入图片描述
对NULLL与其他值进行运算结果为NULL
在这里插入图片描述

3.2.5where AND,OR查询

在这里插入图片描述
观察AND与OR的优先级:
在这里插入图片描述

AND的优先级高于OR

Retrieve(where )代码:

#3.2.1基础查询
#查询语文<=70的
#查询数学高于语文的
#查询总分低于250的
select id,name,chinese from exam where chinese<=70;
select id,name,chinese,math from exam where math>chinese;
select id,name, chinese+math+english as total from exam where (chinese+math+english)<250; 
#3.2.2范围  查询英语成绩在60~80之间的  查询数学成绩是 78 或者 79 或者 98 或者 99 分的同学及数学成绩
select id,name,english from exam where english between 60 and 80;
select id,name,math from exam where math in(78,79,98,99);
#3.2.3 where 模糊查询
select id,name from exam where name like '%孟%';
select id,name from exam where name like '孙%';
select id,name from exam where name like '%德';
#_系列
select id,name from exam where name like '孙_';
select id,name from exam where name like '孙__';
select id,name from exam where name like '_孟_';
#3.2.3 where NULL查询
#插入一条null
insert into exam values (8,'张飞',88,98,NULL);
select *from exam where english is null;
select *from exam where english is not null;
#对NULLL与其他值进行运算结果为NULL
select id,name,chinese+math+english as total from exam;

3.3 Order by查询

语法:
– ASC 为升序(从⼩到⼤)
– DESC 为降序(从⼤到⼩)
– 默认为 ASC
SELECT … FROM table_name [WHERE …] ORDER BY {col_name | expr } [ASC | DESC], … ;

3.3.1ASC查询

对语文进行ASC
在这里插入图片描述

3.3.2 desc查询

对数学进行desc
在这里插入图片描述

3.3.3 ASC与desc查询

改一下数据观察同时对语文成绩进行asc,数学进行desc
在这里插入图片描述
来观察是否可以使⽤列的别名进⾏排序
在这里插入图片描述
注意在排序时NULL比任何值都小, 改一负数进行观察
在这里插入图片描述

Retrieve(Order by)代码:
#Order by查询
#对语文进行ASC
select id,name,chinese from exam order by chinese asc;
#对数学进行desc
select id,name,math from exam order by math desc;
#改一下数据观察同时对语文成绩进行asc,数学进行desc
select id,name,chinese,math from exam order by chinese asc, math desc;
#来观察是否可以使⽤列的别名进⾏排序
select id,name,chinese+math+english as total from exam order by chinese+math+english desc;
select id,name,chinese+math+english as total from exam order by total desc;
#注意在排序时NULL比任何值都小, 改一负数进行观察
select id,name,chinese+math+english as total from exam order by total desc;

3.4 分页查询

语法:-- 起始下标为 0
– 从 0 开始,筛选 num 条结果
SELECT … FROM table_name [WHERE …] [ORDER BY…] LIMIT num;
– 从 start 开始,筛选 num 条结果
SELECT … FROM table_name [WHERE …] [ORDER BY…] LIMIT start, num;
– 从 start 开始,筛选 num 条结果,⽐第⼆种⽤法更明确建议使⽤
SELECT … FROM table_name [WHERE …] [ORDER BY…] LIMIT num OFFSET start;

分页查询主要掌握查询页数与每页查询多少列之间的关系
插入一列数据:
insert into exam(id,name,chinese,math,english) values (9,‘李白’,94,91,77);
在这里插入图片描述
接下来将数据增加到9条分5页(第一条为0下标)
num=2;
start=(页数-1)*num
进行分页查询;
在这里插入图片描述
Retrieve(分页查询)代码:

#3.4 分页查询
#插入一列
insert into exam(id,name,chinese,math,english) values (9,'李白',94,91,77);
 select * from exam order by id desc limit 0,2;
 select * from exam order by id desc limit 2,2;
 select * from exam order by id desc limit 4,2;
 select * from exam order by id desc limit 6,2;
 select * from exam order by id desc limit 8,2;

4.Update(更新)

语法:
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET assignment [, assignment] …
[WHERE where_condition]
[ORDER BY …]
[LIMIT row_count]

4.1.1 改写指定单列数据

将孙悟空的语文数学成绩都是加10
在这里插入图片描述

4.1.2 改写指定多列数据

将所有英语成绩*2
在这里插入图片描述

注意:• 不加where条件时,会导致全表数据被列新,谨慎操作
Update(更新)代码:

# 4.Update(更新)
 # 4.1.1  改写指定单行数据
 select name,chinese,math from exam where name ='孙悟空';
 update exam set chinese=chinese+10,math=math+10 where name '孙悟空';
 select name,chinese,math from exam where name ='孙悟空';
 # 4.1.2  改写指定多行数据,将所有英语成绩*2
 id,name,english from exam order by english asc ;
 update exam set english=english*2;
 id,name,english from exam order by english asc ;

5.Delete(删除)

语法: DELETE FROM tbl_name [WHERE where_condition] [ORDER BY …] [LIMIT row_count]

5.1.1指定单列删除

删除名为张飞的数据
在这里插入图片描述

5.1.2删除整张表,插入一张演示表

在这里插入图片描述

在这里插入图片描述
注意:Delete操作非常危险,执⾏Delete时不加条件会删除整张表的数据,谨慎操作
Delete(删除)代码:

#5.Delete
 # 5.1.1指定单列删除,删除名为张飞的数据
delete from exam where name='张飞';
select name from exam where name='张飞';
#5.1.2删除整张表,插入一张演示表
create table if not exists t_student(
id bigint not null comment'编号',
name varchar(20) not null comment'用户名'
);
insert into t_student values (1,'小明'),(2,'小龙'),(3,'小兰');

6.总代码:

#2Create(创建)
#创建一个用于演示的表
create table if not exists user(
id bigint not null comment'编号',
name varchar(20) not null comment'用户名'
);
#2.1单行数据全列插入
-- 插入第一行数据 
insert into user values (1,'刘1');
-- 插入第二行
insert into user values (2,'刘2');

#2.2单行数据指定插入
insert into user(id,name) values (3,'张三');
insert into user(name,id) values ('赵六',6);

#2.3 多行数据指定列插入
insert into user(id,name) values (4,'李四'),(5,'王五');

insert into user(name) values ('宋七');
#3.Retrieve(读取)
CREATE TABLE if not exists exam(
 id BIGINT,
 name VARCHAR(20) COMMENT '同学姓名',
 chinese float COMMENT '语文成绩',
 math float COMMENT '数学成绩',
 english float COMMENT '英语成绩'
);
-- 插入测试数据
INSERT INTO exam (id,name, chinese, math, english) VALUES
(1, '唐三藏', 67, 98, 56),
(2, '孙悟空', 87, 78, 77),
(3, '猪悟能', 88, 98, 90),
(4, '曹孟德', 82, 84, 67),
(5, '刘孟德', 55, 85, 45),
(6, '孙权', 70, 73, 78),
(7, '宋公明', 75, 65, 30);
#3.1.1 全列查询
#使用*可以查询表中所有列的值
select * from exam;
#3.1.2 指定列查询
#• 查询所有人的编号、姓名和数学成绩
select id,name,math from exam;
#查询的顺序没有要求:
select name,english,id from exam;
#  查询字段为表达式
#常量表达式:
select id,name,1 from exam;
#也可以是常量的运算
select id,name,1+1 from exam;
# 表达式中包含一个字段
select id,name,math+10 from exam;
#表达式中多个字段:
select id,name,chinese+math+english from exam;
# 3.1.3为查询结果指定别名
#将每个人的总分展示出来:
select id,name,chinese+math+english as 总分 from exam;
# 3.1.4查询结果去重
#查看两条math为98的数据进行去重
select math from exam;

#3.2.1基础查询
#查询语文<=70的
#查询数学高于语文的
#查询总分低于250的
select id,name,chinese from exam where chinese<=70;
select id,name,chinese,math from exam where math>chinese;
select id,name, chinese+math+english as total from exam where (chinese+math+english)<250; 
#3.2.2范围  查询英语成绩在60~80之间的  查询数学成绩是 78 或者 79 或者 98 或者 99 分的同学及数学成绩
select id,name,english from exam where english between 60 and 80;
select id,name,math from exam where math in(78,79,98,99);
#3.2.3 where 模糊查询
select id,name from exam where name like '%孟%';
select id,name from exam where name like '孙%';
select id,name from exam where name like '%德';
#_系列
select id,name from exam where name like '孙_';
select id,name from exam where name like '孙__';
select id,name from exam where name like '_孟_';
#3.2.3 where NULL查询
#插入一条null
insert into exam values (8,'张飞',88,98,NULL);
select *from exam where english is null;
select *from exam where english is not null;
#对NULLL与其他值进行运算结果为NULL
select id,name,chinese+math+english as total from exam;

#Order by查询
#对语文进行ASC
select id,name,chinese from exam order by chinese asc;
#对数学进行desc
select id,name,math from exam order by math desc;
#改一下数据观察同时对语文成绩进行asc,数学进行desc
select id,name,chinese,math from exam order by chinese asc, math desc;
#来观察是否可以使⽤列的别名进⾏排序
select id,name,chinese+math+english as total from exam order by chinese+math+english desc;
select id,name,chinese+math+english as total from exam order by total desc;
#注意在排序时NULL比任何值都小, 改一负数进行观察
select id,name,chinese+math+english as total from exam order by total desc;

#3.4 分页查询
#插入一列
insert into exam(id,name,chinese,math,english) values (9,'李白',94,91,77);
 select * from exam order by id desc limit 0,2;
 select * from exam order by id desc limit 2,2;
 select * from exam order by id desc limit 4,2;
 select * from exam order by id desc limit 6,2;
 select * from exam order by id desc limit 8,2
 
 # 4.Update(更新)
 # 4.1.1  改写指定单行数据
 select name,chinese,math from exam where name ='孙悟空';
 update exam set chinese=chinese+10,math=math+10 where name '孙悟空';
 select name,chinese,math from exam where name ='孙悟空';
 # 4.1.2  改写指定多行数据,将所有英语成绩*2
 id,name,english from exam order by english asc ;
 update exam set english=english*2;
 id,name,english from exam order by english asc ;
 
 #5.Delete
 # 5.1.1指定单列删除,删除名为张飞的数据
delete from exam where name='张飞';
select name from exam where name='张飞';
#5.1.2删除整张表,插入一张演示表
create table if not exists t_student(
id bigint not null comment'编号',
name varchar(20) not null comment'用户名'
);
insert into t_student values (1,'小明'),(2,'小龙'),(3,'小兰');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/963041.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python 语音识别

目录 一、语音识别 二、代码实践 2.1 使用vosk三方库 2.2 使用SpeechRecognition 2.3 使用Whisper 一、语音识别 今天识别了别人做的这个app,觉得虽然是个日记app 但是用来学英语也挺好的,能进行语音识别,然后矫正语法,自己说的时候 ,实在不知道怎么说可以先乱说,然…

openssl 生成证书 windows导入证书

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…

深度学习编译器的演进:从计算图到跨硬件部署的自动化之路

第一章 问题的诞生——深度学习部署的硬件困境 1.1 计算图的理想化抽象 什么是计算图&#xff1f; 想象你正在组装乐高积木。每个积木块代表一个数学运算&#xff08;如加法、乘法&#xff09;&#xff0c;积木之间的连接代表数据流动。深度学习框架正是用这种"积木拼接…

Agentic Automation:基于Agent的企业认知架构重构与数字化转型跃迁---我的AI经典战例

文章目录 Agent代理Agent组成 我在企业实战AI Agent企业痛点我构建的AI Agent App 项目开源 & 安装包下载 大家好&#xff0c;我是工程师令狐&#xff0c;今天想给大家讲解一下AI智能体&#xff0c;以及企业与AI智能体的结合&#xff0c;文章中我会列举自己在企业中Agent实…

论文阅读:Realistic Noise Synthesis with Diffusion Models

这篇文章是 2025 AAAI 的一篇工作&#xff0c;主要介绍的是用扩散模型实现对真实噪声的仿真模拟 Abstract 深度去噪模型需要大量来自现实世界的训练数据&#xff0c;而获取这些数据颇具挑战性。当前的噪声合成技术难以准确模拟复杂的噪声分布。我们提出一种新颖的逼真噪声合成…

Baklib揭示内容中台与人工智能技术的创新协同效应

内容概要 在当今信息爆炸的时代&#xff0c;内容的高效生产与分发已成为各行业竞争的关键。内容中台与人工智能技术的结合&#xff0c;为企业提供了一种新颖的解决方案&#xff0c;使得内容创造的流程更加智能化和高效化。 内容中台作为信息流动的核心&#xff0c;能够集中管…

Spring Boot 中的事件发布与监听:深入理解 ApplicationEventPublisher(附Demo)

目录 前言1. 基本知识2. Demo3. 实战代码 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 基本的Java知识推荐阅读&#xff1a; java框架 零基础从入门到精通的学习路线 附开源项目面经等&#xff08;超全&am…

DeepSeek 第二弹:Janus-Pro 文生图模型

最近&#xff0c;DeepSeek 可谓是科技圈的焦点&#xff0c;还火出了圈外&#xff0c;掀起了一场全民创作热潮。大家纷纷借助 DeepSeek R1 挥洒才情&#xff0c;实现诗人、小说家的梦想。然而&#xff0c;就在这场文字狂欢之际&#xff0c;DeepSeek 又悄然推出了一款重磅产品——…

leetcode 2563. 统计公平数对的数目

题目如下 数据范围 显然数组长度最大可以到10的5次方n方的复杂度必然超时&#xff0c;阅读题目实际上就是寻找两个位置不同的数满足不等式即可(实际上i j无所谓是哪个 我们只要把位置小的想成i就行)。 按照上面的思路我们只需要排序数组然后从前往后遍历数组然后利用二分查找…

2024第十五届蓝桥杯网安赛道省赛题目--cc(CyberChef)/crypto

打开链接后是&#xff1a; 通过题目界面可以知道是AES加密&#xff0c;并且告诉我们key是gamelabgamelab&#xff0c;IV是gamelabgamelab&#xff0c;Mode是CBC模式&#xff0c;输入是flag&#xff0c;输出为Hex十六进制4da72144967f1c25e6273950bf29342aae635e2396ae17c80b1b…

【视频+图文详解】HTML基础4-html标签的基本使用

图文教程 html标签的基本使用 无序列表 作用&#xff1a;定义一个没有顺序的列表结构 由两个标签组成&#xff1a;<ul>以及<li>&#xff08;两个标签都属于容器级标签&#xff0c;其中ul只能嵌套li标签&#xff0c;但li标签能嵌套任何标签&#xff0c;甚至ul标…

Python-基于PyQt5,wordcloud,pillow,numpy,os,sys等的智能词云生成器

前言&#xff1a;日常生活中&#xff0c;我们有时后就会遇见这样的情形&#xff1a;我们需要将给定的数据进行可视化处理&#xff0c;同时保证呈现比较良好的量化效果。这时候我们可能就会用到词云图。词云图&#xff08;Word cloud&#xff09;又称文字云&#xff0c;是一种文…

自制虚拟机(C/C++)(二、分析引导扇区,虚拟机读二进制文件img软盘)

先修复上一次的bug&#xff0c;添加新指令&#xff0c;并增加图形界面 #include <graphics.h> #include <conio.h> #include <windows.h> #include <commdlg.h> #include <iostream> #include <fstream> #include <sstream> #inclu…

工作流引擎Camunda

一&#xff0c;什么是Camunda&#xff1f; Camunda是一个开源的工作流引擎和业务流程管理平台&#xff0c;基于Java和Spring框架构建。它支持BPMN 2.0标准&#xff0c;允许用户通过图形界面或编程方式定义复杂的工作流和业务流程。Camunda可以嵌入到任何Java应用程序中&#x…

C++,STL,【目录篇】

文章目录 一、简介二、内容提纲第一部分&#xff1a;STL 概述第二部分&#xff1a;STL 容器第三部分&#xff1a;STL 迭代器第四部分&#xff1a;STL 算法第五部分&#xff1a;STL 函数对象第六部分&#xff1a;STL 高级主题第七部分&#xff1a;STL 实战应用 三、写作风格四、…

【已解决】黑马点评项目Redis版本替换过程的数据迁移

黑马点评项目Redis版本替换过程的数据迁移 【哭哭哭】附近商户中需要用到的GEO功能只在Redis 6.2以上版本生效 如果用的是老版本&#xff0c;美食/KTV的主页能正常返回&#xff0c;但无法显示内容 上次好不容易升到了5.0以上版本&#xff0c;现在又用不了了 Redis 6.2的windo…

文献阅读 250201-The carbon budget of China: 1980–2021

The carbon budget of China: 1980–2021 来自 <https://www.sciencedirect.com/science/article/pii/S2095927323007703> 中国碳预算&#xff1a;1980–2021 年 ## Abstract: Using state-of-the-art datasets and models, this study comprehensively estimated the an…

《OpenCV》——图像透视转换

图像透视转换简介 在 OpenCV 里&#xff0c;图像透视转换属于重要的几何变换&#xff0c;也被叫做投影变换。下面从原理、实现步骤、相关函数和应用场景几个方面为你详细介绍。 原理 实现步骤 选取对应点&#xff1a;要在源图像和目标图像上分别找出至少四个对应的点。这些对…

条件变量 实现2生产者2消费者模型

1个生产者在生产的时候&#xff0c;另个生产者不能生产(生产者之间互斥) 条件变量用于线程同步&#xff0c;线程挂起/被唤醒。 条件变量和互斥锁共同保证生产者之间互斥生产者和消费者的同步。 思路&#xff1a; 1 定义、初始化共享资源 a 缓冲区&#xff1a;存储物品…

一个开源 GenBI AI 本地代理(确保本地数据安全),使数据驱动型团队能够与其数据进行互动,生成文本到 SQL、图表、电子表格、报告和 BI

一、GenBI AI 代理介绍&#xff08;文末提供下载&#xff09; github地址&#xff1a;https://github.com/Canner/WrenAI 本文信息图片均来源于github作者主页 在 Wren AI&#xff0c;我们的使命是通过生成式商业智能 &#xff08;GenBI&#xff09; 使组织能够无缝访问数据&…