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)

注:

  1. 在SQL中没有字符串类型,所以既可以用‘ ’来引用字符串,又可以使用“ ”来引用字符串;
  2. 还可以直接插入中文字符(需要把数据库字符集改为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)

注:

  1. 通配符* 表示匹配所有的列,即查询所有列,把所有的数据都查询出来;
  2. 这是一个危险操作(当数据量大的时候):进行此操作的时候,服务器要先读取磁盘,把这些数据都查出来,再通过网卡,把这些数据传输给客户端,由于数据量非常大,极有可能把磁盘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)

注:

  1. 升序排序末尾加asc 但默认是升序排序可以省略,降序排序末尾加desc
  2. 在SQL中,拿NULL和其他类型进行混合计算,结果仍然是NULL
  3. 在select操作中,如果没有使用order by 那么查询结果的顺序是不确定的。

条件查询

select* from 表名 where 条件;

引入where子句,对条件进行筛选,即:用where子句对最初的每一行查询结果进行筛选,如果满足条件,就把这一行放入到最终的查询结果;如果不满足条件,则舍弃这一行;最后返回最终查询结果。

  • 比较运算符

在这里插入图片描述

注:

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

在这里插入图片描述

注:

  1. 在where条件中,可以使用表达式,但不能使用别名;
  2. 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)

注:

  1. 直接使用 = 来进行匹配是不能正确进行筛选的
  2. 使用 <=> 可以正确和NULL匹配
  3. 使用 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: 0

mysql> 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)

注:

  1. delete后面的 where 条件很重要。加上条件,表示删除符合条件某些行;不加条件,表示删除表中的全部信息。
  2. delete from 表名;表示删除表内的所有信息,但是表还在。
    drop table 表名;表示删除整个表,表也不存在了。

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

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

相关文章

运维 | 使用 Docker 安装 Jenkins | Jenkins

运维 | 使用 Docker 安装 Jenkins | Jenkins 前言 本期内容主要是为了学习如何通过 Docker 安装Jenkins&#xff0c;仅作为记录与参考&#xff0c;希望对大家有所帮助。 准备工作 系统&#xff1a;CentOS 7.9配置&#xff1a;4c8g 快速安装 下面以 Docker 方式安装 Jenkin…

DCU上如何运行大模型以及用到的docker命令

第一步&#xff1a;需要连接到官方(https://developer.hpccube.com/)提供的vpn 第二步&#xff1a;通过termius进入到项目 第三步&#xff1a;遇到问题 1.docker空间太小了&#xff0c;得换地方&#xff1a;参考这个centos设置docker 目录_mob64ca12f73101的技术博客_51CTO博…

【Qt样式(qss)-5】qss混乱,错乱,不生效的一种原因

前言&#xff1a; 之前写过一些关于qss的文章&#xff1a; 【Qt样式&#xff08;qss&#xff09;-1】手册小结&#xff08;附例&#xff1a;软件深色模式&#xff09;_深蓝色主题qss表-CSDN博客 【Qt样式&#xff08;qss&#xff09;-2】使用小结&#xff08;软件换肤&#…

算法、语言混编、分布式锁与分布式ID、IO模型

一、算法初识 数据结构和算法是程序的基石。我们使用的所有数据类型就是一种数据结构&#xff08;数据的组织形式&#xff09;&#xff0c;写的程序逻辑就是算法。 算法是指用来操作数据、解决程序问题的一组方法。 对于同一个问题&#xff0c;使用不同的算法&#xff0c;也…

实验六:DHCP、DNS、Apache、FTP服务器的安装和配置

1. (其它) 掌握Linux下DHCP、DNS、Apache、FTP服务器的安装和配置&#xff0c;在Linux服务器上部署JavaWeb应用 完成单元八的实训内容。 1、安装 JDK 2、安装 MySQL 3、部署JavaWeb应用 安装jdk 教程连接&#xff1a;linux安装jdk8详细步骤-CSDN博客 Jdk来源&#xff1a;linu…

【Docker】Docker学习之一:离线安装Docker步骤

前言&#xff1a;基于Ubuntu Jammy 22.04 (LTS)版本安装和测试 1、Docker安装 1.1、离线安装 步骤一&#xff1a;官网下载 docker 安装包 wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.6.tgz步骤二&#xff1a;解压安装包; tar -zxvf docker…

java中的异常,以及出现异常后的处理【try,catch,finally】

一、异常概念 异常 &#xff1a;指的是程序在执行过程中&#xff0c;出现的非正常的情况&#xff0c;最终会导致JVM的非正常停止。 注意: 在Java等面向对象的编程语言中&#xff0c;异常本身是一个类&#xff0c;产生异常就是创建异常对象并抛出了一个异常对象。Java处理异常的…

光流法动目标检测

目录 前言 一、效果展示 二、光流法介绍 三、代码展示 总结 前言 动目标检测是计算机视觉领域的一个热门研究方向。传统的方法主要基于背景建模&#xff0c;但这些方法对于光照变化、遮挡和噪声敏感。因此&#xff0c;研究人员一直在寻找更加鲁棒和有效的技术来解决这一问题。…

IAR For ARM 安装教程

电脑环境 安装包下载 1、官网下载 ①搜索 IAR ②切换产品&#xff0c;选择Arm ③选择IAR Embedded Workbench for Arm ④免费试用 2、网盘下载 EWARM-CD-8202-14838.exe(访问密码: 1666) https://url48.ctfile.com/f/33868548-961057458-611638?p1666 软件下载 1、点击安…

WPF中的绑定知识详解(含案例源码分享)

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

Flask后端开发(一)-基础知识和前期准备

目录 1.背景介绍1.1. 项目背景1.2. 项目难点1.3. 项目环境 2. flask后端开发实现的功能3. flask部署和前后端对接3.1. flask运行配置和服务器部署3.2. flask前后端传参 4. 后端测试工具4.1. 工具介绍4.2. 工具使用 后记 1.背景介绍 1.1. 项目背景 就是前几个月临时接手了一个…

13.4web自动化测试(Selenium3+Java)

一.定义 用来做web自动化测试的框架. 二.特点 1.支持各种浏览器. 2.支持各种平台(操作系统). 3.支持各种编程语言. 4.有丰富的api. 三.工作原理 四.搭环境 1.对照Chrome浏览器版本号,下载ChromeDriver,配置环境变量,我直接把.exe文件放在了jdk安装路径的bin文件夹下了(j…

LSM Tree 深度解析

我们将深入探讨日志结构合并树&#xff0c;也称为LSM Tree&#xff1a;这是许多高度可扩展的NoSQL分布式键值型数据库的基础数据结构&#xff0c;例如Amazon的DynamoDB、Cassandra和ScyllaDB。这些数据库的设计被认为支持比传统关系数据库更高的写入速率。我们将看到LSM Tree如…

分享10个创意满满的产品设计网站

在当今的互联网时代&#xff0c;新颖性和创造力是最受关注的&#xff0c;无论一个产品有多好&#xff0c;但没有创意的包装都很难“看到太阳”。因此&#xff0c;创意产品的设计非常重要&#xff0c;今天小将为您带来10个非常有创意的产品设计网站。话不多说&#xff0c;上干货…

越流行的大语言模型越不安全

源自&#xff1a;GoUpSec “人工智能技术与咨询” 发布 安全研究人员用OpenSSF记分卡对GitHub上50个最流行的生成式AI大语言模型项目的安全性进行了评估&#xff0c;结果发现越流行的大语言模型越危险。 近日&#xff0c;安全研究人员用OpenSSF记分卡对GitHub上50个最流…

Sentinel授权规则和规则持久化

大家好我是苏麟 , 今天说说Sentinel规则持久化. 授权规则 授权规则可以对请求方来源做判断和控制。 授权规则 基本规则 授权规则可以对调用方的来源做控制&#xff0c;有白名单和黑名单两种方式。 白名单&#xff1a;来源&#xff08;origin&#xff09;在白名单内的调用…

批量编辑 Outlook 联系人

现状 Outlook 自带的联系人编辑功能无法快速、批量编辑联系人字段使用 Excel 等外部编辑器&#xff0c;可批量编辑联系人 导出联系人到文件 在【联系人】界面&#xff0c;点击【文件】在【文件】界面&#xff0c;点击【打开和导出】–>【导入/导出】在弹出的向导窗口中点…

FPGA从入门到精通(二十)SignalTapII

这一篇将介绍SignalTapII。 之前的工程我们是做仿真&#xff0c;设置激励&#xff0c;观察输出波形去判断代码没有问题&#xff0c;但事实上我们真实的需求是综合后的代码下载到FPGA芯片中能够符合预期。 其中可能出现问题的原因有&#xff1a; 1、我们是写testbench设置激励…

接口自动化测试 —— Jmeter 6种定时器应用

①定时器是在每个sampler&#xff08;采样器&#xff09;之前执行的&#xff0c;而不是之后&#xff0c;不管这个定时器的位置放在sampler之后&#xff0c;还是之下&#xff0c;都在sampler之前得到执行 ②定时器是有作用域的&#xff0c;当执行一个sampler之前时&#xff0c;…

华为云2023年双十一服务器优惠价格表及活动大全

2023华为云双11优惠活动「云上优选 特惠来袭」&#xff0c;阿腾云atengyun.com整理云服务器优惠价格表&#xff0c;华为云L实例-2核2G3M一年优惠价89元、L实例-2核2G4M价格108元一年、L实例-2核4G5M优惠价198元一年&#xff0c;三年1000元、HECS云服务器-1核2G1M带宽39元一年、…