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

增删改查(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  改写指定多行数据,将所有英语成绩*2id,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  改写指定多行数据,将所有英语成绩*2id,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,'小兰');

相关文章:

增删改查(CRUD)操作

文章目录 MySQL系列&#xff1a;1.CRUD简介2.Create(创建)2.1单行数据全列插入2.2 单行数据指定插入2.3 多⾏数据指定列插⼊ 3.Retrieve(读取)3.1 Select查询3.1.1 全列查询3.1.2 指定列查询3.1.3 查询字段为表达式&#xff08;都是临时表不会对原有表数据产生影响&#xff09;…...

Vue.js `Suspense` 和异步组件加载

Vue.js Suspense 和异步组件加载 今天我们来聊聊 Vue 3 中的一个强大特性&#xff1a;<Suspense> 组件&#xff0c;以及它如何帮助我们更优雅地处理异步组件加载。如果你曾在 Vue 项目中处理过异步组件加载&#xff0c;那么这篇文章将为你介绍一种更简洁高效的方式。 什…...

HTB:LinkVortex[WriteUP]

目录 连接至HTB服务器并启动靶机 信息收集 使用rustscan对靶机TCP端口进行开放扫描 使用nmap对靶机TCP开放端口进行脚本、服务扫描 使用nmap对靶机TCP开放端口进行漏洞、系统扫描 使用nmap对靶机常用UDP端口进行开放扫描 使用gobuster对靶机进行路径FUZZ 使用ffuf堆靶机…...

Linux命令入门

Linux命令入门 ls命令 ls命令的作用是列出目录下的内容&#xff0c;语法细节如下: 1s[-a -l -h] [Linux路径] -a -l -h是可选的选项 Linux路径是此命令可选的参数 当不使用选项和参数,直接使用ls命令本体,表示:以平铺形式,列出当前工作目录下的内容 ls命令的选项 -a -a选项&a…...

【问题】Chrome安装不受支持的扩展 解决方案

此扩展程序已停用&#xff0c;因为它已不再受支持 Chromium 建议您移除它。详细了解受支持的扩展程序 此扩展程序已停用&#xff0c;因为它已不再受支持 详情移除 解决 1. 解压扩展 2.打开manifest.json 3.修改版本 将 manifest_version 改为3及以上 {"manifest_ver…...

【题解】AtCoder Beginner Contest ABC391 D Gravity

题目大意 原题面链接 在一个 1 0 9 W 10^9\times W 109W 的平面里有 N N N 个方块。我们用 ( x , y ) (x,y) (x,y) 表示第 x x x 列从下往上数的 y y y 个位置。第 i i i 个方块的位置是 ( x i , y i ) (x_i,y_i) (xi​,yi​)。现在执行无数次操作&#xff0c;每一次…...

使用 SpringBoot+Thymeleaf 模板引擎进行 Web 开发

目录 一、什么是 Thymeleaf 模板引擎 二、Thymeleaf 模板引擎的 Maven 坐标 三、配置 Thymeleaf 四、访问页面 五、访问静态资源 六、Thymeleaf 使用示例 七、Thymeleaf 常用属性 前言 在现代 Web 开发中&#xff0c;模板引擎被广泛用于将动态内容渲染到静态页面中。Thy…...

【Java异步编程】CompletableFuture综合实战:泡茶喝水与复杂的异步调用

文章目录 一. 两个异步任务的合并&#xff1a;泡茶喝水二. 复杂的异步调用&#xff1a;结果依赖&#xff0c;以及异步执行调用等 一. 两个异步任务的合并&#xff1a;泡茶喝水 下面的代码中我们实现泡茶喝水。这里分3个任务&#xff1a;任务1负责洗水壶、烧开水&#xff0c;任…...

Nginx知识

nginx 精简的配置文件 worker_processes 1; # 可以理解为一个内核一个worker # 开多了可能性能不好events {worker_connections 1024; } # 一个 worker 可以创建的连接数 # 1024 代表默认一般不用改http {include mime.types;# 代表引入的配置文件# mime.types 在 ngi…...

Unity开发游戏使用XLua的基础

Unity使用Xlua的常用编码方式&#xff0c;做一下记录 1、C#调用lua 1、Lua解析器 private LuaEnv env new LuaEnv();//保持它的唯一性void Start(){env.DoString("print(你好lua)");//env.DoString("require(Main)"); 默认在resources文件夹下面//帮助…...

AI-ISP论文Learning to See in the Dark解读

论文地址&#xff1a;Learning to See in the Dark 图1. 利用卷积网络进行极微光成像。黑暗的室内环境。相机处的照度小于0.1勒克斯。索尼α7S II传感器曝光时间为1/30秒。(a) 相机在ISO 8000下拍摄的图像。(b) 相机在ISO 409600下拍摄的图像。该图像存在噪点和色彩偏差。©…...

OpenCV:开运算

目录 1. 简述 2. 用腐蚀和膨胀实现开运算 2.1 代码示例 2.2 运行结果 3. 开运算接口 3.1 参数详解 3.2 代码示例 3.3 运行结果 4. 开运算应用场景 5. 注意事项 6. 总结 相关阅读 OpenCV&#xff1a;图像的腐蚀与膨胀-CSDN博客 OpenCV&#xff1a;闭运算-CSDN博客 …...

38. RTC实验

一、RTC原理详解 1、6U内部自带到了一个RTC外设&#xff0c;确切的说是SRTC。6U和6ULL的RTC内容在SNVS章节。6U的RTC分为LP和HP。LP叫做SRTC&#xff0c;HP是RTC&#xff0c;但是HP的RTC掉电以后数据就丢失了&#xff0c;即使用了纽扣电池也没用。所以必须要使用LP&#xff0c…...

Flutter 新春第一弹,Dart 宏功能推进暂停,后续专注定制数据处理支持

在去年春节&#xff0c;Flutter 官方发布了宏&#xff08;Macros&#xff09;编程的原型支持&#xff0c; 同年的 5 月份在 Google I/O 发布的 Dart 3.4 宣布了宏的实验性支持&#xff0c;但是对于 Dart 内部来说&#xff0c;从启动宏编程实验开始已经过去了几年&#xff0c;但…...

巴菲特价值投资思想的核心原则

巴菲特价值投资思想的核心原则 关键词&#xff1a;安全边际、长期投资、内在价值、管理团队、经济护城河、简单透明 摘要&#xff1a;本文深入探讨了巴菲特价值投资思想的核心原则&#xff0c;包括安全边际、长期投资、企业内在价值、优秀管理团队、经济护城河和简单透明的业务…...

C 或 C++ 中用于表示常量的后缀:1ULL

1ULL 是一个在 C 或 C 中用于表示常量的后缀&#xff0c;它具体指示编译器将这个数值视为特定类型的整数。让我们详细解释一下&#xff1a; 1ULL 的含义 1: 这是最基本的部分&#xff0c;表示数值 1。U: 表示该数值是无符号&#xff08;Unsigned&#xff09;的。这意味着它只…...

vue3中el-input无法获得焦点的问题

文章目录 现象两次nextTick()加setTimeout()解决结论 现象 el-input被外层div包裹了&#xff0c;设置autofocus不起作用&#xff1a; <el-dialog v-model"visible" :title"title" :append-to-bodytrue width"50%"><el-form v-model&q…...

程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<3>

大家好啊&#xff0c;我是小象٩(๑ω๑)۶ 我的博客&#xff1a;Xiao Xiangζั͡ޓއއ 很高兴见到大家&#xff0c;希望能够和大家一起交流学习&#xff0c;共同进步。 今天我们来对上一节做一些小补充&#xff0c;了解学习一下assert断言&#xff0c;指针的使用和传址调用…...

(三)QT——信号与槽机制——计数器程序

目录 前言 信号&#xff08;Signal&#xff09;与槽&#xff08;Slot&#xff09;的定义 一、系统自带的信号和槽 二、自定义信号和槽 三、信号和槽的扩展 四、Lambda 表达式 总结 前言 信号与槽机制是 Qt 中的一种重要的通信机制&#xff0c;用于不同对象之间的事件响…...

Qt 5.14.2 学习记录 —— 이십이 QSS

文章目录 1、概念2、基本语法3、给控件应用QSS设置4、选择器1、子控件选择器2、伪类选择器 5、样式属性box model 6、实例7、登录界面 1、概念 参考了CSS&#xff0c;都是对界面的样式进行设置&#xff0c;不过功能不如CSS强大。 可通过QSS设置样式&#xff0c;也可通过C代码…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

今日学习:Spring线程池|并发修改异常|链路丢失|登录续期|VIP过期策略|数值类缓存

文章目录 优雅版线程池ThreadPoolTaskExecutor和ThreadPoolTaskExecutor的装饰器并发修改异常并发修改异常简介实现机制设计原因及意义 使用线程池造成的链路丢失问题线程池导致的链路丢失问题发生原因 常见解决方法更好的解决方法设计精妙之处 登录续期登录续期常见实现方式特…...

在web-view 加载的本地及远程HTML中调用uniapp的API及网页和vue页面是如何通讯的?

uni-app 中 Web-view 与 Vue 页面的通讯机制详解 一、Web-view 简介 Web-view 是 uni-app 提供的一个重要组件&#xff0c;用于在原生应用中加载 HTML 页面&#xff1a; 支持加载本地 HTML 文件支持加载远程 HTML 页面实现 Web 与原生的双向通讯可用于嵌入第三方网页或 H5 应…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

莫兰迪高级灰总结计划简约商务通用PPT模版

莫兰迪高级灰总结计划简约商务通用PPT模版&#xff0c;莫兰迪调色板清新简约工作汇报PPT模版&#xff0c;莫兰迪时尚风极简设计PPT模版&#xff0c;大学生毕业论文答辩PPT模版&#xff0c;莫兰迪配色总结计划简约商务通用PPT模版&#xff0c;莫兰迪商务汇报PPT模版&#xff0c;…...