MySQL---表的增查改删(CRUD基础)
文章目录
- 什么是CRUD?
- 新增(Create)
- 单行数据 + 全列插入
- 多行数据 + 指定列插入
- 查询(Retrieve)
- 全列查询
- 指定列查询
- 查询字段为表达式
- 起别名查询
- 去重查询
- 排序查询
- 条件查询
- 分页查询
- 修改(Update)
- 删除(Delete)
什么是CRUD?
CRUD,即增加(Create)、查找(Retrieve)、修改(Update)、删除(Delete)四个单词的首字母缩写。
在进行下面所有操作的前提都是得选中一个数据库,并且已经创建了可以用来操作的表。
默认我们现在已经创建了learning数据库,在数据库中有一张student表。后续操作都基于此进行

新增(Create)
insert into 表名 values(值,值,值...);
注:这里值的类型和个数要和表的 列的类型和个数匹配。
单行数据 + 全列插入
mysql> insert into student values (1,"zhangsan");
Query OK, 1 row affected (0.00 sec)
注:
- 在SQL中没有字符串类型,所以既可以用‘ ’来引用字符串,又可以使用“ ”来引用字符串;
- 还可以直接插入中文字符(需要把数据库字符集改为UTF-8)
多行数据 + 指定列插入
mysql> insert into student values (1,"zhangsan"),(2,"lisi"),(3,"wangwu");
Query OK, 3 row affected (0.00 sec)
注:比一条一条插入更快
查询(Retrieve)
MySQL是一个客户端—服务器结构的程序,显示在客户端的查询结果是一个“临时表”,服务器端的数据并不是这样的组织形式。
全列查询
select* from 表名;
mysql> select * from student;
+------+----------+
| id | name |
+------+----------+
| 1 | zhangsan |
| 2 | lisi |
| 3 | wangwu |
+------+----------+
3 rows in set (0.00 sec)
注:
- 通配符* 表示匹配所有的列,即查询所有列,把所有的数据都查询出来;
- 这是一个危险操作(当数据量大的时候):进行此操作的时候,服务器要先读取磁盘,把这些数据都查出来,再通过网卡,把这些数据传输给客户端,由于数据量非常大,极有可能把磁盘IO(输入输出)吃满,或者网络带宽吃满。这时其他数据就无法正常返回了,最直观的感受就是客户端感受到卡顿。
指定列查询
select 列名,列名,列名.... from 表名;
mysql> select id from student;
+------+
| id |
+------+
| 1 |
| 2 |
| 3 |
+------+
3 rows in set (0.00 sec)
注:当我们查询时省去一些不必要的列时,就可以节约大量的磁盘IO和网络带宽了。
查询字段为表达式
select 表达式 from 表名;
- 演示此操作需要创建一个新的表:
mysql> create table exam_result (id int, name varchar(20), chinese decimal(3,1),math decimal(3,1), english decimal(3,1));
Query OK, 0 rows affected (0.01 sec)
//decimal(3,1) 表示共有三位有效数字,保留一位小数。 比如:32.1、10.5
- 查看一下表结构:
mysql> desc exam_result;
+---------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| chinese | decimal(3,1) | YES | | NULL | |
| math | decimal(3,1) | YES | | NULL | |
| english | decimal(3,1) | YES | | NULL | |
+---------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)
- 插入数据
mysql> INSERT INTO exam_result (id,name, chinese, math, english) VALUES-> (1,'zhangsan', 67, 98, 56),-> (2,'lisi', 87.5, 78, 77),-> (3,'wangwu', 88, 98.5, 90),-> (4,'zhaoliu', 82, 84, 67),-> (5,'sunqi', 55.5, 85, 45),-> (6,'zhouba', 70, 73, 78.5),-> (7,'wujiu', 75, 65, 30);
Query OK, 7 rows affected (0.00 sec)
Records: 7 Duplicates: 0 Warnings: 0
- 查询表内全部数据
mysql> select * from exam_result;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
| 7 | wujiu | 75.0 | 65.0 | 30.0 |
+------+-----------+---------+------+---------+
7 rows in set (0.00 sec)
- 带表达式的查询:让所有人的语文成绩+10分
mysql> select name,chinese + 10 from exam_result;
+-----------+--------------+
| name | chinese + 10 |
+-----------+--------------+
| zhangsan | 77.0 |
| lisi | 97.5 |
| wangwu | 98.0 |
| zhaoliu | 92.0 |
| sunqi | 65.5 |
| zhouba | 80.0 |
| wujiu | 85.0 |
+-----------+--------------+
7 rows in set (0.00 sec)
起别名查询
select 表达式 as 别名 from 表名;
- 普通情况查询语、数、英三科总分
mysql> select name, chinese + math + english from exam_result;
+-----------+--------------------------+
| name | chinese + math + english |
+-----------+--------------------------+
| zhangsan | 221.0 |
| lisi | 242.5 |
| wangwu | 276.5 |
| zhaoliu | 233.0 |
| sunqi | 185.5 |
| zhouba | 221.5 |
| wujiu | 170.0 |
+-----------+--------------------------+
7 rows in set (0.00 sec)
- 起别名查询语、数、英三科总分
mysql> select name, chinese + english + math as total from exam_result;
+-----------+-------+
| name | total |
+-----------+-------+
| zhangsan | 221.0 |
| lisi | 242.5 |
| wangwu | 276.5 |
| zhaoliu | 233.0 |
| sunqi | 185.5 |
| zhouba | 221.5 |
| wujiu | 170.0 |
+-----------+-------+
7 rows in set (0.00 sec)
注:as可以写着,也可以省略。 建议写着!
去重查询
select distinct 列名 from 表名;
- 演示此操作需增加相同信息
mysql> insert into exam_result (name, math) values ('zhangsan', 98.0);
Query OK, 1 row affected (0.00 sec)
- 查看当前表的全部信息
mysql> select * from exam_result;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
| 7 | wujiu | 75.0 | 65.0 | 30.0 |
| NULL | zhangsan | NULL | 98.0 | NULL |
+------+-----------+---------+------+---------+
8 rows in set (0.00 sec)
- 进行去重查询
mysql> select distinct name, math from exam_result;
+-----------+------+
| name | math |
+-----------+------+
| zhangsan | 98.0 |
| lisi | 78.0 |
| wangwu | 98.5 |
| zhaoliu | 84.0 |
| sunqi | 85.0 |
| zhouba | 73.0 |
| wujiu | 65.0 |
+-----------+------+
7 rows in set (0.00 sec)
注:当用distinct指定多个列时,必须是这几个列的值同时相同时才会去重。
排序查询
select 列名 from 表名 order by 列名;
- 按语文成绩升序排序
mysql> select * from exam_result order by chinese;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| NULL | zhangsan | NULL | 98.0 | NULL |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
| 7 | wujiu | 75.0 | 65.0 | 30.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
+------+-----------+---------+------+---------+
8 rows in set (0.00 sec)
- 按语文成绩降序排序
mysql> select * from exam_result order by chinese desc;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 7 | wujiu | 75.0 | 65.0 | 30.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| NULL | zhangsan | NULL | 98.0 | NULL |
+------+-----------+---------+------+---------+
8 rows in set (0.00 sec)
- order by 也可以针对别名进行排序
mysql> select name, chinese + math + english as total from exam_result order by total desc;
+-----------+-------+
| name | total |
+-----------+-------+
| wangwu | 276.5 |
| lisi | 242.5 |
| zhaoliu | 233.0 |
| zhouba | 221.5 |
| zhangsan | 221.0 |
| sunqi | 185.5 |
| wujiu | 170.0 |
| zhangsan | NULL |
+-----------+-------+
8 rows in set (0.00 sec)
- order by 进行排序的时候还可以指定多个列进行排序 效果是:先以第一列为标准进行比较,如果第一列不分胜负,那么继续按照第二列进行比较,一次类推
mysql> select * from exam_result order by math desc,chinese;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| NULL | zhangsan | NULL | 98.0 | NULL |
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
| 7 | wujiu | 75.0 | 65.0 | 30.0 |
+------+-----------+---------+------+---------+
8 rows in set (0.00 sec)
注:
- 升序排序末尾加asc 但默认是升序排序可以省略,降序排序末尾加desc
- 在SQL中,拿NULL和其他类型进行混合计算,结果仍然是NULL
- 在select操作中,如果没有使用order by 那么查询结果的顺序是不确定的。
条件查询
select* from 表名 where 条件;
引入where子句,对条件进行筛选,即:用where子句对最初的每一行查询结果进行筛选,如果满足条件,就把这一行放入到最终的查询结果;如果不满足条件,则舍弃这一行;最后返回最终查询结果。
- 比较运算符

注:
- 在SQL中没有== 使用=进行比较
- 在SQL中,NULL = NULL 结果还是NUULL ,相当于false; NULL <=> NULL 结果是true
- like进行模糊匹配,匹配过程中可以带上通配符
- 逻辑运算符

注:
- 在where条件中,可以使用表达式,但不能使用别名;
- and的优先级高于or,在使用时注意次序或者加()
- 基本查询:查询语文成绩比英语成绩好的人
mysql> select * from exam_result where chinese > english;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| 7 | wujiu | 75.0 | 65.0 | 30.0 |
+------+-----------+---------+------+---------+
5 rows in set (0.00 sec)
- and / or查询
mysql> select * from exam_result where chinese > 80 or english > 70 and math > 70;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
+------+-----------+---------+------+---------+
4 rows in set (0.00 sec)
- 范围查询:查询语文成绩在80-90之间的人
mysql> select * from exam_result where chinese >= 80 and chinese <= 90;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
+------+-----------+---------+------+---------+
3 rows in set (0.00 sec)mysql> select * from exam_result where chinese between 80 and 90;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
+------+-----------+---------+------+---------+
3 rows in set (0.00 sec)
- in 查询 查询数学成绩是58 或者59 或者98 或者99的人
mysql> select * from exam_result where math in (58,59,98,99);
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
+------+-----------+---------+------+---------+
1 rows in set (0.00 sec)mysql> select * from exam_result where math = 58 or math = 59 or math = 98 or math = 99;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
+------+-----------+---------+------+---------+
1 rows in set (0.00 sec)
- 模糊查询like 不一定完全相同,只要有一部分匹配即可。
mysql> select * from exam_result where name like 'w%';
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 3 | wangwu | 88 | 98.5 | 90 |
| 7 | wujiu | 75 | 65 | 30 |
+------+-----------+---------+------+---------+
2 rows in set (0.00 sec)
注: % 可以替代任意个字符,_ 可以替代任意一个字符
- NULL的查询
mysql> select * from exam_result;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
| 7 | wujiu | 75.0 | 65.0 | 30.0 |
| NULL | zhangsan | NULL | 98.0 | NULL |
+------+-----------+---------+------+---------+
8 rows in set (0.00 sec)mysql> select * from exam_result where chinese = NULL;
Empty set (0.00 sec)mysql> select * from exam_result where chinese <=> NULL;
+------+--------+---------+------+---------+
| id | name | chinese | math | english |
+------+--------+---------+------+---------+
| NULL |zhangsan| NULL | 98.0 | NULL |
+------+--------+---------+------+---------+
1 row in set (0.00 sec)mysql> select * from exam_result where chinese is NULL;
+------+--------+---------+------+---------+
| id | name | chinese | math | english |
+------+--------+---------+------+---------+
| NULL |zhangsan| NULL | 98.0 | NULL |
+------+--------+---------+------+---------+
1 row in set (0.00 sec)
注:
- 直接使用 = 来进行匹配是不能正确进行筛选的
- 使用 <=> 可以正确和NULL匹配
- 使用 is NULL也可以正确和NULL匹配
分页查询
select 列名 from 表名 limit N offset M;
select 列名 from 表名 limit M,N;
N:返回结果的条数 M:跳过M条结果再开始返回
- 从M条开始查询 最多返回N条结果
mysql> select * from exam_result;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
| 7 | wujiu | 75.0 | 65.0 | 30.0 |
| NULL | zhangsan | NULL | 98.0 | NULL |
+------+-----------+---------+------+---------+
8 rows in set (0.00 sec)mysql> select * from exam_result limit 3;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
| 2 | lisi | 87.5 | 78.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
+------+-----------+---------+------+---------+
3 rows in set (0.00 sec)mysql> select * from exam_result limit 3 offset 3;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
+------+-----------+---------+------+---------+
3 rows in set (0.00 sec)
注:select* 这样的操作容易把数据库搞挂了,除了select*外,其他的查询操作只要你返回的结果足够多,都有可能把数据库搞挂;即使你加上了where子句进行筛选,但是返回的结果仍然可能很多。最保险的办法就是加上limit
修改(Update)
update 表名 set 列名 = 值..... where 条件;
- 把lisi 的数学成绩修改为80分
mysql> update exam_result set math = 80 where name = 'lisi';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1 Changed: 1 Warnings: 0mysql> select * from exam_result;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 1 | zhangsan | 67.0 | 98.0 | 56.0 |
| 2 | lisi | 87.5 | 80.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| 4 | zhaoliu | 82.0 | 84.0 | 67.0 |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
| 7 | wujiu | 75.0 | 65.0 | 30.0 |
| NULL | zhangsan | NULL | 98.0 | NULL |
+------+-----------+---------+------+---------+
8 rows in set (0.00 sec)
注: update后面的where条件很重要。加上条件,表示修改符合条件某些行;不加条件,表示修改所有行。
删除(Delete)
delete from 表名 where 条件;
- 删除zhangsan的信息
mysql> delete from exam_result where name = 'zhangsan';
Query OK, 1 row affected (0.00 sec)mysql> select * from exam_result;
+------+-----------+---------+------+---------+
| id | name | chinese | math | english |
+------+-----------+---------+------+---------+
| 2 | lisi | 87.5 | 80.0 | 77.0 |
| 3 | wangwu | 88.0 | 98.5 | 90.0 |
| 4 | zhaoliu | 70.0 | 60.0 | 67.0 |
| 5 | sunqi | 55.5 | 85.0 | 45.0 |
| 6 | zhouba | 70.0 | 73.0 | 78.5 |
| 7 | wujiu | 75.0 | 65.0 | 30.0 |
+------+-----------+---------+------+---------+
6 rows in set (0.00 sec)
注:
- delete后面的 where 条件很重要。加上条件,表示删除符合条件某些行;不加条件,表示删除表中的全部信息。
- delete from 表名;表示删除表内的所有信息,但是表还在。
drop table 表名;表示删除整个表,表也不存在了。
相关文章:
MySQL---表的增查改删(CRUD基础)
文章目录 什么是CRUD?新增(Create)单行数据 全列插入多行数据 指定列插入 查询(Retrieve)全列查询指定列查询查询字段为表达式起别名查询去重查询排序查询条件查询分页查询 修改(Update)删除&…...
听GPT 讲Rust源代码--library/std(2)
File: rust/library/std/src/sys_common/wtf8.rs 在Rust源代码中,rust/library/std/src/sys_common/wtf8.rs这个文件的作用是实现了UTF-8编码和宽字符编码之间的转换,以及提供了一些处理和操作UTF-8编码的工具函数。 下面对这几个结构体进行一一介绍&…...
力扣第1005题 K 次取反后最大化的数组和 c++ 贪心 双思维
题目 1005. K 次取反后最大化的数组和 简单 相关标签 贪心 数组 排序 给你一个整数数组 nums 和一个整数 k ,按以下方法修改该数组: 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以…...
Swoole 4.8版本的安装
1、从github拉取安装包 Release v4.8.13 swoole/swoole-src GitHub 2、解压压缩包 tar -zxvf ./v4.8.13.tar.gzcd ./swoole-src-4.8.13 3、执行安装命令 phpize && \ ./configure && \ make && sudo make install 4、检查swoole模块是否安装完成…...
ChatGPT和Copilot协助Vue火速搭建博客网站
AI 对于开发人员的核心价值 网上会看到很多 AI 的应用介绍或者教程 使用 AI 聊天,咨询问题 —— 代替搜索引擎使用 AI 写各种的电商文案(淘宝、小红书)使用 AI 做一个聊天机器人 —— 这最多算猎奇、业余爱好、或者搞个套壳产品来收费 以上…...
javaEE -8(9000字详解网络编程)
一:网络编程基础 1.1 网络资源 所谓的网络资源,其实就是在网络中可以获取的各种数据资源,而所有的网络资源,都是通过网络编程来进行数据传输的。 用户在浏览器中,打开在线视频网站,如优酷看视频ÿ…...
FPGA从入门到精通(二十)SignalTapII
这一篇将介绍SignalTapII。 之前的工程我们是做仿真,设置激励,观察输出波形去判断代码没有问题,但事实上我们真实的需求是综合后的代码下载到FPGA芯片中能够符合预期。 其中可能出现问题的原因有: 1、我们是写testbench设置激励…...
RHCE---shell 条件测试
文章目录 目录 文章目录 前言 一.条件测试 概述: 文件测试 整数测试: 总结 前言 当我们完成某一命令的编写时,除了观察输出的内容,我们又如何得知命令是否执行成功呢? 这里,我们需要用到条件测试 一.条…...
Linux下QT打开文件选择对话框时,程序报错退出
系统:Ubuntu QString fileName QFileDialog::getOpenFileName(this, "open", "./", "document Files (*.pdf)"); 调用该语句弹出文件对话框时,程序崩溃退出 错误提示: (Widget:5272): Gtk-WARNING **: 14…...
PyTorch中的intrusive_ptr
PyTorch中的intrusive_ptr 前言 intrusive_ptr與unique_ptr,shared_ptr等一樣,都是smart pointer。但是intrusive_ptr比較特別,它所指向的物件類型必須繼承自intrusive_ptr_target,而intrusive_ptr_target必須實現引用計數相關的…...
webrtc-stream编译报错记录
磁盘空间不足错误 错误信息 677.2 fatal: cannot create directory at blink/web_tests/external/wpt: No space left on device说明:这个错误是由于本地在配置docker资源时所给磁盘空间太小导致,直接根据镜像大小合理分配资源大小即可 pushd和popd执…...
什么是Docker CLI
Docker CLI(命令行界面)是一个工具,允许用户通过命令行或终端与Docker进行交互。Docker是一个开源平台,用于开发、运送和运行应用程序。Docker使用容器化技术来打包应用程序及其依赖项,以确保在不同环境中的一致性和隔…...
Java项目_家庭记账(简易版)
文章目录 简介代码实现 简介 该项目主要用来练习,Java的变量,运算符,分支结构和循环结构的知识点。 程序界面如下: 登记收入 登记支出 收支明细 程序退出 代码实现 package project;import java.util.Scanner;import sta…...
vscode json文件添加注释报错
在vscode中创建json文件,想要注释一波时,发现报了个错:Comments are not permitted in JSON. (521),意思是JSON中不允许注释 以下为解决方法: 在vscode的右下角中找到这个,点击 在出现的弹窗中输入json wit…...
vue3移动端嵌入pdf的两种办法
1.使用embed嵌入 好处:简单,代码量少,功能齐全 缺点:有固定样式,难以修改,不可定制 <embed class"embedPdf" :src"pdfurl" type"application/pdf">2.使用vue-pdf-e…...
中文编程开发语言工具系统化教程初级1上线
中文编程系统化教程初级1 学习编程捷径:(不论是正在学习编程的大学生,还是IT人士或者是编程爱好者,在学习编程的过程中用正确的学习方法 可以达到事半功倍的效果。对于初学者,可以通过下面的方法学习编程,…...
零售数据分析模板分享(通用型)
零售数据来源多,数据量大,导致数据的清洗整理工作量大,由于零售的特殊性,其指标计算组合更是多变,进一步导致了零售数据分析工作量激增,往往很难及时分析数据,发现问题。那怎么办?可…...
Spring Cloud之微服务
目录 微服务 微服务架构 微服务架构与单体架构 特点 框架 总结 SpringCloud 常用组件 与SpringBoot关系 版本 微服务 微服务:从字面上理解即:微小的服务; 微小:微服务体积小,复杂度低,一个微服…...
Linux命令(104)之date
linux命令之date 1.date介绍 linux命令date用来设置和显示系统日期和时间 2.date用法 date [参数] date参数 参数说明-s修改并设置时间-d可以显示以前和未来的时间%H小时%M分钟%S秒%X等价于%H %M %S%F显示当前所有时间属性%Y完整年份%m月%d日%A星期的全称 3.实例 3.1.当前…...
微信小程序投票管理系统:打造智能、便捷的投票体验
前言 随着社交网络的兴起和移动互联网的普及,人们对于参与和表达意见的需求越来越强烈。在这个背景下,微信小程序投票管理系统应运而生。它为用户提供了一个智能、便捷的投票平台,使用户可以轻松创建和参与各种类型的投票活动。本文将详细介…...
Debian系统简介
目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版ÿ…...
理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端
🌟 什么是 MCP? 模型控制协议 (MCP) 是一种创新的协议,旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议,它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
【数据分析】R版IntelliGenes用于生物标志物发现的可解释机器学习
禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍流程步骤1. 输入数据2. 特征选择3. 模型训练4. I-Genes 评分计算5. 输出结果 IntelliGenesR 安装包1. 特征选择2. 模型训练和评估3. I-Genes 评分计…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
wpf在image控件上快速显示内存图像
wpf在image控件上快速显示内存图像https://www.cnblogs.com/haodafeng/p/10431387.html 如果你在寻找能够快速在image控件刷新大图像(比如分辨率3000*3000的图像)的办法,尤其是想把内存中的裸数据(只有图像的数据,不包…...
通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器
拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件: 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...
