【MySQL】7. 基本查询(create / retrieve)

表的增查

CRUD : Create(创建), Retrieve(读取),Update(更新),Delete(删除)

1. Create

语法:

INSERT [INTO] table_name[(column [, column] ...)] VALUES (value_list) [, (value_list)] ...

value_list: value, [, value] ...

案例:

-- 创建一张学生表
CREATE TABLE students (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
sn INT NOT NULL UNIQUE COMMENT '学号',
name VARCHAR(20) NOT NULL,
qq VARCHAR(20)
);

1.1 单行数据 + 全列插入

INSERT INTO students VALUES (101, 10001, '孙悟空', '11111');
Query OK, 1 row affected (0.02 sec
-- 插入两条记录,value_list 数量必须和定义表的列的数量及顺序一致
-- 注意,这里在插入的时候,也可以不用指定id(当然,那时候就需要明确插入数据到那些列了),那么mysql会使用默认的值进行自增。
INSERT INTO students VALUES (100, 10000, '唐三藏', NULL);
Query OK, 1 row affected (0.02 sec)
)
-- 查看插入结果
SELECT * FROM students;
+-----+-------+-----------+-------+
| id  |   sn  |   name    |   qq  |
+-----+-------+-----------+-------+
| 100 | 10000 |   唐三藏   |  NULL |
| 101 | 10001 |   孙悟空   | 11111 |
+-----+-------+-----------+-------+
2 rows in set (0.00 sec)

1.2 多行数据 + 指定列插入

-- 插入两条记录,value_list 数量必须和指定列数量及顺序一致
INSERT INTO students (id, sn, name) VALUES (102, 20001, '曹孟德'),(103, 20002, '孙仲谋');
Query OK, 2 rows affected (0.02 sec)
Records: 2 Duplicates: 0 Warnings: 0
-- 查看插入结果
SELECT * FROM students;
+-----+-------+-----------+-------+
| id  | sn    | name      |   qq  |
+-----+-------+-----------+-------+
| 100 | 10000 |   唐三藏   |  NULL |
| 101 | 10001 |   孙悟空   | 11111 |
| 102 | 20001 |   曹孟德   | NULL  |
| 103 | 20002 |   孙仲谋   | NULL  |
+-----+-------+-----------+-------+
4 rows in set (0.00 sec)

1.3 插入否则更新

由于 主键 或者 唯一键 对应的值已经存在而导致插入失败

-- 主键冲突
INSERT INTO students (id, sn, name) VALUES (100, 10010, '唐大师');
ERROR 1062 (23000): Duplicate entry '100' for key 'PRIMARY'
-- 唯一键冲突
INSERT INTO students (sn, name) VALUES (20001, '曹阿瞒');
ERROR 1062 (23000): Duplicate entry '20001' for key 'sn'

可以选择性的进行同步更新操作 语法:

INSERT ... ON DUPLICATE KEY UPDATE column = value [, column = value] ...
INSERT INTO students (id, sn, name) VALUES (100, 10010, '唐大师') ON DUPLICATE KEY UPDATE sn = 10010, name = '唐大师';
Query OK, 2 rows affected (0.47 sec)
-- 0 row affected: 表中有冲突数据,但冲突数据的值和 update 的值相等
-- 1 row affected: 表中没有冲突数据,数据被插入
-- 2 row affected: 表中有冲突数据,并且数据已经被更新
-- 通过 MySQL 函数获取受到影响的数据行数
SELECT ROW_COUNT();
+-------------+
| ROW_COUNT() |
+-------------+
|           2 |
+-------------+
1 row in set (0.00 sec)
-- ON DUPLICATE KEY 当发生重复key的时候

1.4 替换(replace)

-- 主键 或者 唯一键 没有冲突,则直接插入;
-- 主键 或者 唯一键 如果冲突,则删除后再插入
REPLACE INTO students (sn, name) VALUES (20001, '曹阿瞒');
Query OK, 2 rows affected (0.00 sec)
-- 1 row affected: 表中没有冲突数据,数据被插入
-- 2 row affected: 表中有冲突数据,删除后重新插入

2. Retrieve

语法:

SELECT [DISTINCT] {* | {column [, column] ...} [FROM table_name] [WHERE ...] [ORDER BY column [ASC | DESC], ...] LIMIT ...

案例:

-- 创建表结构
CREATE TABLE exam_result (
id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20) NOT NULL COMMENT '同学姓名',
chinese float DEFAULT 0.0 COMMENT '语文成绩',
math float DEFAULT 0.0 COMMENT '数学成绩',
english float DEFAULT 0.0 COMMENT '英语成绩'
);
-- 插入测试数据
INSERT INTO exam_result (name, chinese, math, english) VALUES
('唐三藏', 67, 98, 56),
('孙悟空', 87, 78, 77),
('猪悟能', 88, 98, 90),
('曹孟德', 82, 84, 67),
('刘玄德', 55, 85, 45),
('孙权', 70, 73, 78),
('宋公明', 75, 65, 30);
Query OK, 7 rows affected (0.00 sec)
Records: 7 Duplicates: 0 Warnings: 0

2.1 SELECT 列

2.1.1 全列查询

-- 通常情况下不建议使用 * 进行全列查询
-- 1. 查询的列越多,意味着需要传输的数据量越大;
-- 2. 可能会影响到索引的使用。(这里并没有用到索引)
SELECT * FROM exam_result;
+----+-----------+-------+--------+--------+
| id |    name   |chinese|  math  | english|
+----+-----------+-------+--------+--------+
| 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   |
+----+-----------+-------+--------+--------+
7 rows in set (0.00 sec)

2.1.2 指定列查询

-- 指定列的顺序不需要按定义表的顺序来  
SELECT id, name, english FROM exam_result;
+----+-----------+--------+
| id |    name   | english|
+----+-----------+--------+
| 1  |   唐三藏   |  56    |
| 2  |   孙悟空   |  77    |
| 3  |   猪悟能   |  90    |
| 4  |   曹孟德   |  67    |
| 5  |   刘玄德   |  45    |
| 6  |   孙权     |  78    |
| 7  |   宋公明   |  30    |
+----+-----------+--------+
7 rows in set (0.00 sec)

2.1.3 查询字段为表达式

-- 表达式不包含字段
SELECT id, name, 10 FROM exam_result;
+---+-------+----+
|id |  name | 10 |
+---+-------+----+
| 1 | 唐三藏 | 10 |
| 2 | 孙悟空 | 10 |
| 3 | 猪悟能 | 10 |
| 4 | 曹孟德 | 10 |
| 5 | 刘玄德 | 10 |
| 6 | 孙权   | 10 |
| 7 | 宋公明 | 10 |
+---+-------+----+
7 rows in set (0.00 sec)
-- 表达式包含一个字段
SELECT id, name, english + 10 FROM exam_result;
+----+-----------+-------------+
| id |    name   | english + 10|
+----+-----------+-------------+
| 1  |   唐三藏   |      66     |
| 2  |   孙悟空   |      87     |
| 3  |   猪悟能   |      100    |
| 4  |   曹孟德   |      77     |
| 5  |   刘玄德   |      55     |
| 6  |   孙权     |      88     |
| 7  |   宋公明   |      40     |
+----+-----------+-------------+
7 rows in set (0.00 sec)
-- 表达式包含多个字段
SELECT id, name, chinese + math + english FROM exam_result;
+----+-----------+-------------------------+
| id |     name  | chinese + math + english|
+----+-----------+-------------------------+
| 1  |   唐三藏   |                     221 |
| 2  |   孙悟空   |                     242 |
| 3  |   猪悟能   |                     276 |
| 4  |   曹孟德   |                     233 |
| 5  |   刘玄德   |                     185 |
| 6  |   孙权     |                     221 |
| 7  |   宋公明   |                     170 |
+----+-----------+-------------------------+
7 rows in set (0.00 sec)

2.1.4 为查询结果指定别名

语法:

SELECT column [AS] alias_name [...] FROM table_name;

AS 关键字可省略
SELECT id, name, chinese + math + english 总分 FROM exam_result;
+---+-------+-----+
| id| name  | 总分 |
+---+- -----+-----+
| 1 | 唐三藏 | 221 |
| 2 | 孙悟空 | 242 |
| 3 | 猪悟能 | 276 |
| 4 | 曹孟德 | 233 |
| 5 | 刘玄德 | 185 |
| 6 | 孙权   | 221 |
| 7 | 宋公明 | 170 |
+---+-------+-----+
7 rows in set (0.00 sec)

2.1.5 结果去重

-- 98 分重复了
SELECT math FROM exam_result;
+----+
|math|
+----+
| 98 |
| 78 |
| 98 |
| 84 |
| 85 |
| 73 |
| 65 |
+----+
7 rows in set (0.00 sec)
-- 去重结果
SELECT DISTINCT math FROM exam_result;
+----+
|math|
+----+
| 98 |
| 78 |
| 84 |
| 85 |
| 73 |
| 65 |
+----+
6 rows in set (0.00 sec)

2.2 WHERE 条件

比较运算符:
在这里插入图片描述
逻辑运算符:

---------------------------------------------------
| 运算符 |  说明                                    |
---------------------------------------------------
| AND   | 多个条件必须都为 TRUE(1),结果才是 TRUE(1)  |
| OR    | 任意一个条件为 TRUE(1), 结果为 TRUE(1)     |
| NOT   | 条件为 TRUE(1),结果为 FALSE(0)           |
---------------------------------------------------

2.2.1 英语不及格的同学及英语成绩 ( < 60 )

-- 基本比较
SELECT name, english FROM exam_result WHERE english < 60;
+-----------+--------+
|    name   | english|
+-----------+--------+
|    唐三藏  |   56   |
|    刘玄德  |   45   |
|    宋公明  |   30   |
+-----------+--------+
3 rows in set (0.01 sec)

2.2.2 语文成绩在 [80, 90] 分的同学及语文成绩

-- 使用 AND 进行条件连接
SELECT name, chinese FROM exam_result WHERE chinese >= 80 AND chinese <= 90;
+-------+-------+
| name  |chinese|
+-------+-------+
| 孙悟空 |   87  |
| 猪悟能 |   88  |
| 曹孟德 |   82  |
+-------+-------+
3 rows in set (0.00 sec)
-- 使用 BETWEEN ... AND ... 条件
SELECT name, chinese FROM exam_result WHERE chinese BETWEEN 80 AND 90;
+-------+-------+
|  name |chinese|
+-------+-------+
| 孙悟空 |   87  |
| 猪悟能 |   88  |
| 曹孟德 |   82  |
+-------+-------+
3 rows in set (0.00 sec)

2.2.3 数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩

-- 使用 OR 进行条件连接
SELECT name, math FROM exam_result
WHERE math = 58
OR math = 59
OR math = 98
OR math = 99;
+-------+----+
| name  |math|
+-------+----+
| 唐三藏 | 98 |
| 猪悟能 | 98 |
+-------+----+
2 rows in set (0.01 sec)
-- 使用 IN 条件
SELECT name, math FROM exam_result WHERE math IN (58, 59, 98, 99);
+-------+----+
| name  |math|
+-------+----+
| 唐三藏 | 98 |
| 猪悟能 | 98 |
+-------+----+
2 rows in set (0.00 sec)

2.2.4 姓孙的同学 及 孙某同学

-- % 匹配任意多个(包括 0 个)任意字符
SELECT name FROM exam_result WHERE name LIKE '孙%';
+-----------+
|   name    |
+-----------+
|   孙悟空   |
|   孙权     |
+-----------+
2 rows in set (0.00 sec)
-- _ 匹配严格的一个任意字符
SELECT name FROM exam_result WHERE name LIKE '孙_';
+--------+
|  name  |
+--------+
|   孙权  |
+--------+
1 row in set (0.00 sec)

2.2.5 语文成绩好于英语成绩的同学

-- WHERE 条件中比较运算符两侧都是字段
SELECT name, chinese, english FROM exam_result WHERE chinese > english;
+-------+-------+---------+
| name  |chinese| english |
+-------+-------+---------+
| 唐三藏 | 67    | 56      |
| 孙悟空 | 87    | 77      |
| 曹孟德 | 82    | 67      |
| 刘玄德 | 55    | 45      |
| 宋公明 | 75    | 30      |
+-------+-------+---------+
5 rows in set (0.00 sec)

2.2.6 总分在 200 分以下的同学

-- WHERE 条件中使用表达式
-- 别名不能用在 WHERE 条件中
SELECT name, chinese + math + english 总分 FROM exam_result
WHERE chinese + math + english < 200;
+-------+-----+
| name  | 总分 |
+-------+-----+
| 刘玄德 | 185 |
| 宋公明 | 170 |
+-------+-----+
2 rows in set (0.00 sec)

2.2.7 语文成绩 > 80 并且不姓孙的同学

-- AND 与 NOT 的使用
SELECT name, chinese FROM exam_result
WHERE chinese > 80 AND name NOT LIKE '孙%';
+----+-----------+-------+--------+--------+
| id |    name   |chinese|  math  | english|
+----+-----------+-------+--------+--------+
| 3  |   猪悟能   |   88  |   98   |   90   |
| 4  |   曹孟德   |   82  |   84   |   67   |
+----+-----------+-------+--------+--------+
2 rows in set (0.00 sec)

2.2.8 孙某同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80

-- 综合性查询
SELECT name, chinese, math, english, chinese + math + english 总分 FROM exam_result
WHERE name LIKE '孙_' OR (
chinese + math + english > 200 AND chinese < math AND english > 80
);
+-------+-------+------+-------+------+
|  name |chinese| math |english| 总分  |
+-------+-------+------+-------+------+
| 猪悟能 |   88  |  98  |   90  | 276  |
| 孙权   |   70  |  73  |   78  | 221  |
+-------+-------+------+-------+------+
2 rows in set (0.00 sec)

2.2.9 NULL 的查询

-- 查询 students 表
+----+-------+-------+-------+
| id |   sn  |  name |  qq   |
+----+-------+-------+-------+
| 100| 10010 | 唐大师 |  NULL |
| 101| 10001 | 孙悟空 | 11111 |
| 103| 20002 | 孙仲谋 |  NULL |
| 104| 20001 | 曹阿瞒 |  NULL |
+----+-------+-------+-------+
4 rows in set (0.00 sec)
-- 查询 qq 号已知的同学姓名
SELECT name, qq FROM students WHERE qq IS NOT NULL;
+-------+-------+
|  name |   qq  |
+-------+-------+
| 孙悟空 | 11111 |
+-------+-------+
1 row in set (0.00 sec)
-- NULL 和 NULL 的比较,= 和 <=> 的区别
SELECT NULL = NULL, NULL = 1, NULL = 0;
+-------------+----------+----------+
| NULL = NULL | NULL = 1 | NULL = 0 |
+-------------+----------+----------+
|     NULL    |   NULL   |   NULL   |
+-------------+----------+----------+
1 row in set (0.00 sec)
SELECT NULL <=> NULL, NULL <=> 1, NULL <=> 0;
+---------------+------------+------------+
| NULL <=> NULL | NULL <=> 1 | NULL <=> 0 |
+---------------+------------+------------+
|        1      |       0    |      0     |
+---------------+------------+------------+
1 row in set (0.00 sec)

2.3 结果排序

语法:

-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
SELECT ... FROM table_name [WHERE ...]
ORDER BY column [ASC|DESC], [...];

MySQL中默认排序:ASC(升序)
注意:没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序

案例:

2.3.1 同学及数学成绩,按数学成绩升序显示

SELECT name, math FROM exam_result ORDER BY math;
+-------+----+
| name  |math|
+-------+----+
| 宋公明 | 65 |
| 孙权   | 73 |
| 孙悟空 | 78 |
| 曹孟德 | 84 |
| 刘玄德 | 85 |
| 唐三藏 | 98 |
| 猪悟能 | 98 |
+-------+----+
7 rows in set (0.00 sec)

2.3.2 同学及 qq 号,按 qq 号排序显示

-- NULL 视为比任何值都小,升序出现在最上面
SELECT name, qq FROM students ORDER BY qq;
+-------+-------+
| name  |   qq  |
+-------+-------+
| 唐大师 | NULL  |
| 孙仲谋 | NULL  |
| 曹阿瞒 | NULL  |
| 孙悟空 | 11111 |
+-------+-------+
4 rows in set (0.00 sec)
-- NULL 视为比任何值都小,降序出现在最下面
SELECT name, qq FROM students ORDER BY qq DESC;
+-------+-------+
|  name |   qq  |
+-------+-------+
| 孙悟空 | 11111 |
| 唐大师 | NULL  |
| 孙仲谋 | NULL  |
| 曹阿瞒 | NULL  |
+-------+-------+
4 rows in set (0.00 sec)

2.3.3 查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示

-- 多字段排序,排序优先级跟随 书写顺序
SELECT name, math, english, chinese FROM exam_result ORDER BY math DESC, english, chinese;
+-------+----+-------+-------+
| name  |math|english|chinese|
+-------+----+-------+-------+
| 唐三藏 | 98 |   56  |  67   |
| 猪悟能 | 98 |   90  |  88   |
| 刘玄德 | 85 |   45  |  55   |
| 曹孟德 | 84 |   67  |  82   |
| 孙悟空 | 78 |   77  |  87   |
| 孙权   | 73 |   78  |  70   |
| 宋公明 | 65 |   30  |  75   |
+-------+----+-------+-------+
7 rows in set (0.00 sec)

2.3.4 查询同学及总分,由高到低

-- ORDER BY 中可以使用表达式
SELECT name, chinese + english + math FROM exam_result ORDER BY chinese + english + math DESC;
+-------+-------------------------+
| name  |chinese + english + math |
+-------+-------------------------+
| 猪悟能 |                     276 |
| 孙悟空 |                     242 |
| 曹孟德 |                     233 |
| 唐三藏 |                     221 |
| 孙权   |                     221 |
| 刘玄德 |                     185 |
| 宋公明 |                     170 |
+-------+-------------------------+
7 rows in set (0.00 sec)
-- ORDER BY 子句中可以使用列别名
SELECT name, chinese + english + math 总分 FROM exam_result ORDER BY 总分 DESC;
+-------+-----+
| name  | 总分 |
+-------+-----+
| 猪悟能 | 276 |
| 孙悟空 | 242 |
| 曹孟德 | 233 |
| 唐三藏 | 221 |
| 孙权   | 221 |
| 刘玄德 | 185 |
| 宋公明 | 170 |
+-------+-----+
7 rows in set (0.00 sec)

在这里插入图片描述

2.3.5 查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示

-- 结合 WHERE 子句 和 ORDER BY 子句
SELECT name, math FROM exam_result
WHERE name LIKE '孙%' OR name LIKE '曹%'
ORDER BY math DESC;
+-------+--------+
| name  |  math  |
+-------+--------+
| 曹孟德 |   84   |
| 孙悟空 |   78   |
| 孙权   |   73   |
+-------+--------+
3 rows in set (0.00 sec)

2.4 筛选分页结果

语法:

-- 起始下标为 0
-- 从 s 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n;
其中s表示开始位置 下标从0开始
n表示步长,从指定位置开始连续读取n行记录

-- 从 0 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;
从表的第0行开始连续读取n行

-- 从 s 开始,筛选 n 条结果,比第二种用 法更明确,建议使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;

limit的本质是显示数据,只有所有数据准备好才进行显示(所以在select 语句中执行顺序排最后)

建议:对未知表进行查询时,最好加一条 LIMIT 1,避免因为表中数据过大,查询全表数据导致数据库卡死
按 id 进行分页,每页 3 条记录,分别显示 第 1、2、3 页

-- 第 1 页
SELECT id, name, math, english, chinese FROM exam_result
ORDER BY id LIMIT 3 OFFSET 0;
+----+------+--------+--------+-------+
| id | name |  math  | english|chinese|
+----+------+--------+--------+-------+
|  1 | 唐三藏|     98 |     56 |    67 |
|  2 | 孙悟空|     78 |     77 |    87 |
|  3 | 猪悟能|     98 |     90 |    88 |
+----+------+--------+--------+-------+
3 rows in set (0.02 sec)
-- 第 2 页
SELECT id, name, math, english, chinese FROM exam_result
ORDER BY id LIMIT 3 OFFSET 3;
+----+------+------+--------+--------+
| id | name | math | english| chinese|
+----+------+------+--------+--------+
| 4  | 曹孟德|   84 |     67 |     82 |
| 5  | 刘玄德|   85 |     45 |     55 |
| 6  | 孙权  |   73 |     78 |     70 |
+----+------+------+--------+--------+
3 rows in set (0.00 sec)
-- 第 3 页,如果结果不足 3 个,不会有影响
SELECT id, name, math, english, chinese FROM exam_result ORDER BY id LIMIT 3 OFFSET 6;
+----+------+------+--------+-------+
| id | name | math | english|chinese|
+----+------+------+--------+-------+
| 7  | 宋公明|  65  |   30   |   75  |
+----+------+------+--------+-------+
1 row in set (0.00 sec)

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

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

相关文章

【办公类-16-07-07】“2023下学期 大班户外游戏2(有场地和无场地版,每天不同场地)”(python 排班表系列)

作品展示 背景需求&#xff1a; 2024年2月教务组发放的是“每周五天内容相同&#xff0c;两周10天内容相同”的户外游戏安排 【办公类-16-07-05】合并版“2023下学期 大班户外游戏&#xff08;有场地和无场地版&#xff0c;两周一次&#xff09;”&#xff08;python 排班表系…

探秘国内ip切换手机软件,全是干货,火速Get!

随着互联网的普及和深入&#xff0c;人们在网络空间中的活动也变得越来越频繁。然而&#xff0c;在享受网络便利的同时&#xff0c;个人隐私保护和数据安全问题愈发突出。国内IP切换手机软件因其功能多样、易用性强大而备受关注。这类软件可以帮助用户切换IP地址&#xff0c;隐…

百度智能云+SpringBoot=AI对话【人工智能】

百度智能云SpringBootAI对话【人工智能】 前言版权推荐百度智能云SpringBootAI对话【人工智能】效果演示登录AI对话 项目结构后端开发pom和propertiessql_table和entitydao和mapperservice和implconfig和utilLoginController和ChatController 前端开发css和jslogin.html和chat.…

Java newInstance方法学习

用newInstance与用new是有区别的&#xff0c;区别在于创建对象的方式不一样&#xff0c;前者是使用类加载机制&#xff1b; newInstance方法要求该 Class 对应类有无参构造方法&#xff1b; 执行 newInstance()方法实际上就是使用对应类的无参构造方法来创建该类的实例&#x…

【prometheus-operator】k8s监控集群外redis

1、部署exporter GitHub - oliver006/redis_exporter: Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x, 4.x, 5.x, 6.x, and 7.x redis_exporter-v1.57.0.linux-386.tar.gz # 解压 tar -zxvf redis_exporter-v1.57.0.linux-386.tar.gz # 启动 nohup ./redi…

流畅的 Python 第二版(GPT 重译)(三)

第五章&#xff1a;数据类构建器 数据类就像孩子一样。它们作为一个起点是可以的&#xff0c;但要作为一个成熟的对象参与&#xff0c;它们需要承担一些责任。 马丁福勒和肯特贝克 Python 提供了几种构建简单类的方法&#xff0c;这些类只是一组字段&#xff0c;几乎没有额外功…

软件管理rpm与yum

源代码包下载 Compare, Download & Develop Open Source & Business Software - SourceForgehttps://sourceforge.net/ rpm包下载 Welcome to the RPM repository on fr2.rpmfind.nethttp://rpmfind.net/linux/RPM/ 软件包管理 1.rpm包管理: 1)查询: 安装…

蓝桥杯Python B组练习——完美的代价

一、题目 问题描述   回文串&#xff0c;是一种特殊的字符串&#xff0c;它从左往右读和从右往左读是一样的。小龙龙认为回文串才是完美的。现在给你一个串&#xff0c;它不一定是回文的&#xff0c;请你计算最少的交换次数使得该串变成一个完美的回文串。   交换的定义是…

计算机网络相关

OSI七层模型 各层功能&#xff1a; TCP/IP四层模型 应用层 传输层 网络层 网络接口层 访问一个URL的全过程 在浏览器中输入指定网页的 URL。 浏览器通过 DNS 协议&#xff0c;获取域名对应的 IP 地址。 浏览器根据 IP 地址和端口号&#xff0c;向目标服务器发起一个 TCP…

电影aac是什么意思?如何播放、转换、编辑aac?

"电影AAC"这个术语可能是指电影中的音频编码格式。AAC&#xff08;Advanced Audio Coding&#xff09;是一种常见的音频编码格式&#xff0c;通常用于压缩音频文件&#xff0c;以在保持高质量的同时减小文件大小。在电影中&#xff0c;AAC格式的音频通常用于提供高质…

webpack5零基础入门-13生产模式

1.生产模式介绍 生产模式是开发完成代码后&#xff0c;我们需要得到代码将来部署上线。 这个模式下我们主要对代码进行优化&#xff0c;让其运行性能更好。 优化主要从两个角度出发: 优化代码运行性能优化代码打包速度 2.生产模式准备 我们分别准备两个配置文件来放不同的…

【RAG实践】基于 LlamaIndex 和Qwen1.5搭建基于本地知识库的问答机器人

什么是RAG LLM会产生误导性的 “幻觉”&#xff0c;依赖的信息可能过时&#xff0c;处理特定知识时效率不高&#xff0c;缺乏专业领域的深度洞察&#xff0c;同时在推理能力上也有所欠缺。 正是在这样的背景下&#xff0c;检索增强生成技术&#xff08;Retrieval-Augmented G…

PC 端 LVGL 模拟器之 Visual Studio

LVGL&#xff08;Light and Versatile Graphics Library&#xff09;是一个轻量化的、开源的、在嵌入式系统中广泛使用的图形库&#xff0c;它提供了一套丰富的控件和组件&#xff0c;只需要少量的内存和计算资源&#xff0c;使得在资源受限的设备上创建高端的图形界面成为可能…

pycorrector检测OCR错字实践

参考&#xff1a;https://github.com/shibing624/pycorrector/tree/master/examples/macbert stopwords.txt 添加专业停用词&#xff0c;避免错误 设置自定义词典&#xff0c;避免将正确的词错误检测成错误的词 from pycorrector import Corrector m Corrector() m.set_cus…

Mysql——基础命令集合

目录 前期准备 先登录数据库 一、管理数据库 1.数据表结构解析 2.常用数据类型 3.适用所有类型的修饰符 4.使用数值型的修饰符 二、SQL语句 1.SQL语言分类 三、Mysql——Create,Show,Describe,Drop 1.创建数据库 2.查看数据库 3.切换数据库 4.创建数据表 5.查看…

ELK快速搭建图文详细步骤

目录 一、下载地址二、安装docker-compose(已安装则跳过)三、初始化ELK1. 赋予/setup/entrypoint.sh执行权限2. 初始化 docker-elk 所需的 Elasticsearch 用户和组3. 重置默认用户的密码4. 替换配置文件中的用户名和密码5. 重启 Logstash 和 Kibana&#xff0c;使用新密码重新连…

改进粒子群优化算法||粒子群算法变体||Improved particle swarm optimization algorithm

粒子群算法&#xff08;Particle Swarm Optimization&#xff0c;PSO&#xff09;是一种基于群体智能的优化算法&#xff0c;其思想来源于鸟群寻食和鱼群捕食等自然现象。PSO算法通过模拟群体智能的行为&#xff0c;以一种启发式的方式寻找最优解&#xff0c;因此具有全局搜索能…

【FAQ】BSV区块链代码库常见问题解答

​​发表时间&#xff1a;2024年2月27日 BSV区块链协会上线了JavaScript和TypeScript SDK&#xff08;即“标准开发工具包”&#xff09;。TypeScript SDK旨在为开发者提供新版统一核心代码库&#xff0c;让开发者可以在BSV区块链上便捷地进行开发&#xff0c;尤其是开发那些可…

C语言中的联合和枚举(未完)

1、联合体 联合体类型的声明 像结构体⼀样&#xff0c;联合体也是由⼀个或者多个成员构成&#xff0c;这些成员可以不同的类型。但是编译器只为最⼤的成员分配⾜够的内存空间。联合体的特点是所有成员共⽤同⼀块内存空间。所以联合体也叫&#xff1a;共⽤体。因为所有变量公用…

echart多折线图堆叠 y轴和实际数据不对应

当使用 ECharts 绘制堆叠折线图时&#xff0c;有时会遇到 y 轴与实际数据不对应的问题。 比如明明值是50&#xff0c;但折线点在y轴的对应点却飙升到了二百多 解决办法&#xff1a; 查看了前端代码发现在echart的图表中有一个‘stack’的属性&#xff0c;尝试把他删除之后y轴的…