【MySQL】数据库中表的增删查改操作详解

news2025/7/20 13:17:38

前言

对于表,据我目前了解的情况而言,实际开发中常见的操作也是增删查改,也就是经常说的CURD。【create增、update改、retrive改、query查】但是可能会跟我们想象的有所出入,具体看下边的解释。

增加操作:也就是创建表、以及如何向表中增加记录

删除操作:也就是删除整张表,或者删除已经插入的记录

查询操作:也就是查询数据库中是不是有这张表,或者这张表中有没有我们想要的记录

更改操作:按照我们所想的,应该有对表名更改的操作、对表中字段名更改的操作、对表中已经插入的记录更改的操作,但是由于实际开发中“对表中已经插入的记录更改”这一操作使用的比较少,所以我们这里重点介绍前边两种更改操作。

【使用的mysql服务器为5.7版本】

为了方便理解,我们这里整篇文章均围绕下边这个例子来讲解。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KxrHnwdx-1668508192854)(F:\typora插图\image-20221115134324803.png)]

SQL的通用语法

  1. sql语句以分号为结尾

  2. 可以通过过缩进和空格增强可读性

  3. 不区分大小写

  4. 注释:单行注释用–(减号)或者#(井号),多行注释用/**/

    --  第一种单行注释
    # 第二种单行注释
    /*
    多行注释
    */
    

一、表的创建与表的新增

语法

创建表

#创建表操作
create table [if not exists] tableName(字段名1 类型,字段名2 类型……)[comment '……'];
#新增记录操作
#第一种对所有列插入一条数据
insert into table_name values(1,值2……);
#第二种,对指定列插入一条数据,
insert into table_name(属性1,属性2……)values(1,值2……);
-- 补充未插入的列为默认值,不指定为Null【怎么设置默认值,在约束的地方会讲】

#第三种,一次插入多条数据
insert into table_name values(1,值2……),(1,值2……)……;

说明:

  1. 创建表最简单最常用的书写方式为create table tableName(字段名1 类型,字段名2 类型……);
  2. 插入记录使用比较多的是第一条和第三条。
  3. comment+引号表示的意思是注释,我们可以为整张表添加注释,也可以为表中的单个字段添加注释。【字段也,简而言之就是列名】
  4. if not exists跟它的中译的结果差不多,就是如果不存在的话创建这个表。但是由于这个子句主要起着检查的作用,我们很多时候在创建表的时候就已经知道它是否存在了,所以就很少用。
  5. 另外,对于容易写错的sql语句,除了直接在客户端的命令行窗口写,我们还可以通过记事本比如windows自带的记事本或者sublimeText、idea等来写,之后再复制到命令行上边。

数据类型的介绍

整体语法我们知道的差不多了,我们具体看看表中的内容怎么写。可以看到我们要想成功创建出来一张表,就必须先知道它的数据类型。那么sql中到底有哪几种数据类型呢?主要有数值类型、字符串类型、日期类型,这些我们详细讲,当然除此以外很多类型比如复合类型、二进制类型,这里我们作为补充知识了解即可。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JSCi5d5h-1668508166018)(F:\typora插图\sql数据类型.png)]

下边的了解即可

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8pX21r4W-1668508166019)(F:\typora插图\image-20221115132059368.png)]

当然,对于这些数据类型,我们并不建议背,而是通过具体的实践来掌握。

说明

  1. 可以看到对于字符串类型我们是需要指定字符的个数的。这里我们是采用尝试的方法尝试出来的,具体工作中会有产品经理进行约束。
  2. 一般来讲,对于钱我们要求的比较高,不会像实际生活中用浮点数表示,而是通过整形存储到底有多少分【元–》分】

演示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qoAhLHDt-1668508166019)(F:\typora插图\image-20221115134547827.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rnSha4J8-1668508166020)(F:\typora插图\image-20221115144951884.png)]

看到Query OK……就算是创建成功了。

下边,我们借助查询语句select * from 表名来看看效果。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vwFQoUOl-1668508166021)(F:\typora插图\image-20221115145110345.png)]

这里,我想提几个初学者容易犯的错误

  1. 日期类型是date不是data
  2. 建表语句中,最后一个字段后边没有逗号

二、表的删除

语法

删整张表的语法

drop table [if exists] table_name;

删记录的语法

delete from table_name [where 条件子句];

说明

  1. 与建表语句是一样,虽然有if exists这个用法,但是实际应用应用中很少用到。
  2. 删表语句这里涉及到where子句的用法,我们在表的查询那里会具体讲。

演示

因为表记录的删除的前提是首先这个表需要有记录,不是空表,所以这个我们会在讲完表记录的增加和修改之后,一起进行演示。

这里主要演示表的删除,把刚刚建好的那张表删除。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-m9n26NnB-1668508166022)(F:\typora插图\image-20221115135559794.png)]

三、表的查询

查询使用的结构是select ……from。查询一般分为单表查询和多表查询,而单表查询和多表查询本身又分为很多种,相较于单表查询,多表查询会比较稍微复杂一点,这里我们先学习单表查询,先用起来,之后再进阶学习。

特别注意:查询的结果都是临时表!!!

查询整张表

语法:desc 表名;

这里的desc是英文describe描述的缩写

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PKsFqfR8-1668508166023)(F:\typora插图\image-20221115153014595.png)]

下边是对表中记录的查询。

(一)全列查询

语法:select * from 表名;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LKJqW0wQ-1668508166023)(F:\typora插图\image-20221115150113236.png)]

(二)指定列查询

语法:select 列名/列名序列 from 表名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M2i2BGWk-1668508166025)(F:\typora插图\image-20221115150311370.png)]

(三)带表达式的查询

语法:select (列名,/列名序列)表达式/表达式序列 from 表名;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KHRaMNb7-1668508166025)(F:\typora插图\image-20221115152007528.png)]

(四)带别名的查询

语法:select 表达式/列名 as 别名 from 表名;

除了可以给表达式/列名起别名,我们还可以给用聚合计算表达式起别名,还可以给表起别名,这些我们具体用到的时候再进行解释。

其中as关键字可以省略,但是考虑到语句的可读性,我们并不建议省略as关键字。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NzhOSdxq-1668508166026)(F:\typora插图\image-20221115152404448.png)]

(五)去重查询

语法:select distinct 字段名 from 表名;

一般来讲,我们去重就是针对某列对查询出来的记录进行去重。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wUPEZvnv-1668508166026)(F:\typora插图\image-20221115152650206.png)]

(六)排序查询

语法:select 列名/列名序列 form 表名 order by 字段名 asc/desc;

如果不指定排序规则,默认是升序。

这里的asc是英文ascend上升的缩写,desc是英文descend下降的缩写,注意与查询表的desc进行区别。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-tZTsn3jI-1668508166027)(F:\typora插图\image-20221115152912612.png)]

(七)条件查

条件查询使用的关键字是where,where放在表名的后边,where后边跟上条件子句。

语法:select 列名(序列)/表达式(序列) from 表名 where 子句(序列);

在正式介绍条件查询之前,我们先介绍条件查询需要用到的几种运算符,分别是比较运算符、逻辑运算符。

比较运算符

运算符说明
=等于,判断字段之间的值是否相等,但是NULL不安全
<=>等于,判断字段之间的值是否相等,NULL也安全
is null是NULL
is not null不是NULL
>=,<=,>,<大于等于、小于等于、大于、小于
!=,<>不等于
between a and b范围匹配,[a,b],在范围,结果为true
like模糊匹配,%匹配任意个字符,_严格匹配一个字符

逻辑运算符

运算符说明
and同时为true才为真
or任意为真则为真
not值本身为false才为真

基本查询

查询年龄小于等于18岁的员工信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ubM4aVnY-1668508166029)(F:\typora插图\image-20221115154824862.png)]

查询年龄大于等于18岁的女员工信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ELKDM0Dw-1668508166030)(F:\typora插图\image-20221115154759522.png)]

范围查询

查询年龄在18到25岁之间的员工的信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bv1O0FaZ-1668508166030)(F:\typora插图\image-20221115154903750.png)]

模糊查询

语法:select 列名 from 表名 like '条件%条件';

select 列名 from 表名 like '……_……';

*使用like关键字,%可以模糊0或者多个字符,只能模糊并严格匹配一个字符。

这里为了方便演示,我再插入一条杨过的记录。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TogzwRIZ-1668508166031)(F:\typora插图\image-20221115151610146.png)]

首先,我们来看_的例子【严格匹配一个字符】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GN5TTZ3J-1668508166032)(F:\typora插图\image-20221115151547222.png)]

其次,我们来看%的例子【匹配任意个字符,包括0个】

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cA2ni1Q0-1668508166033)(F:\typora插图\image-20221115151725741.png)]

null查询

是null:is null、<=>null

不是null:is not null

注意:不能通过!=来判断不是null,这是有sql标准决定的。

查询名字不是null的员工信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FbjVF2ie-1668508166034)(F:\typora插图\image-20221115154945505.png)]

查询年龄是null的员工的信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kkXxkScp-1668508166035)(F:\typora插图\image-20221115155139923.png)]

(八)分页查询

语法:select * /字段名/字段序列 from 表名 limit 页数 offset 个数;

页数从0开始。

查询年龄第二大的员工的信息

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PZt1mUKl-1668508166035)(F:\typora插图\image-20221115155401073.png)]

(九)聚合查询

前边的查询都是针对列跟列的,聚合查询时针对同一列中的不同行的元素。

一般聚合查询的时候,我们会用到聚合函数。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UBhToNBg-1668508166036)(F:\typora插图\image-20221115172303519.png)]

注意:

  1. 不可以直接嵌套使用,比如: max(count(*))但是可以嵌套子查询使用(先分组取出count值, 再将count值倒序排列,取第一个值就是最大的)
  2. 对于聚合函数而言,不是数字没有意义
  3. 使用 GROUP BY 进行分组查询时,SELECT 指定的字段必须是“分组依据字段”,其他字段若想出现在SELECT 中则必须包含在聚合函数中
  4. HAVING 可以包含聚合函数。HAVING 子句可以引用选择列表中显示的任意项

关于

四、表记录的修改

语法:update 表名 set 值1=,…… [where条件] ;

注意:

  1. 如果不指定where条件,upadate会修改整张表中的列名。与之类似的是delete不指定条件,也会默认删除整张表中记录。
  2. 这个关键字只能针对表记录中具体具体记录进行修改,不能对表名/列名进行修改。
  3. 如果需要对表名/列名进行修改的话,需要使用alter关键字,但是因为实际开发过程中这个使用的频率并不是特别高,所以我们这里就不介绍了。

将杨过的id改成10,workno改成10,gender改成男,age改成16

一定要指定条件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F0mwR0hS-1668508166036)(F:\typora插图\image-20221115162843144.png)]

为了做这个演示,我删表,重新建表了= _ =,下边是正确的更新操作。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-umyCcngB-1668508166037)(F:\typora插图\image-20221115163017986.png)]

除此之外,我们再演示一下,之前没有演示的删除记录的操作。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zS8DjB42-1668508166037)(F:\typora插图\image-20221115163152712.png)]

五、多表查询

我们已经知道mysql是一个关系型数据库,内部是一些有关联的表。那么这些表是怎么联系在一起的呢?

试想,我们如果想要把我们的专业的学生信息以及他们的成绩放到数据库中,我们并不是在任何时候都看到学生的成绩的,那就意味着我们要能够只拿到学生的信息而不包含成绩,而有时候我们又只看成绩,有的时候又只看班级。

此时,我们一般会建立三张表,一张是班级表,里边有班级id和属于这个班级的学生,一张是学生信息表,每个学生的信息又都至少包含一项班级id信息,一张是成绩表,这张表又至少包含了学生的id和对应班级的id。

那么如果不加限制的允许人们往里边输入数据,我们在进行多表查询的时候会不会出错?答案是肯定的。那么我们该怎样解决甚至避免这个问题呢?

这也就是我们接下来要谈的约束的问题,有了约束,表与表之间就会相互制约,过滤掉不符合要求的数据。所以,在正式讲解多表查询之前,我们先来看看什么是约束,约束的用法有哪些?

约束

约束是一种限制,是用来对表中的行或者列做出限制,来确保表中数据的完整性、唯一性

not null约束

作用:使用not null指定列不为空。

效果:再向表中这一列进行插入记录时就不能为空了,否则就会语法错误。

unique约束【唯一键约束】

作用:指定列的值必须是唯一的,不重复的,可以是多个null值。

效果:再向表中这一列进行插入记录时不能和以前的这一列的值重复,否则就会语法错误。

primary key【主键约束】

作用:唯一标识这张表,等价于not null+unique的合体

注意:每个表最多只允许一个主键

除此以外,主键修饰的属性一般是id,我们还会用auto_increment自增约束进行修饰。当插入第一条记录时,自增字段没有给定一个具体值,可以写成DEFAULT/NULL,那么以后插入字段的时候,该自增字段就是从1开始,每插入一条记录,该自增字段的值增加1。当插入第一条记录时,给自增字段一个具体值,那么以后插入的记录在此自增字段上的值,就在第一条记录该自增字段的值的基础上每次增加1。

如果中间插入,断开了(id值),那么就跟枚举一样会随着这个值增长

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SAA2kgOo-1668508166038)(F:\typora插图\image-20221115165852246.png)]

foreign key约束【外键约束】

语法:foreign key (子表的关联字段) references 主表名(主键/唯一键)

这里的父/主表也就是驱动表,子表也就是被驱动表

效果:①父表对子表有约束作用。生成id不能那么随意②子表其实对父表也有约束作用的。父表不能轻易删除,必须先删子表,再删父表也就是说约束是双向的。③父表必须有唯一键/主键。

注意:这里的括号不可省略

讨论完主键的基本用法,我们来讨论另外一个问题,为什么父表中必须要有主键呢?

原因:每次给子表插入数据时,必然需要再父表查询id是否存在,默认情况下,查询是需要遍历表的,在数据量非常的情况下,遍历的效率非常的低,需要使用索引,这时外键和主键其实就相当于一个索引,加快了查找速度。

对于约束的个数问题,同一个表中主键只能有一个,其他的个数没有限制,同时大部分可以自由组合。

default约束【默认约束】

作用:指定列为空时的默认值,人为规定了就是我们规定的值,没有人为规定就是null

例如:例如:age int default 20

check约束【check约束】

作用:保证列中的值符合指定的条件

例如:sex char check (sex =‘男’ or sex=‘女’)

(一)内连接

语法:

​ 写法一:直接用from 将表名分开

​ 写法二:用表一 (inner) join表二 on条件(join 表三 on条件)

作用:求两个或者多个表的交集

效果:生成表的行数是被连接表行数的乘积,列数是被连接表列数的和。

方式一:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SmVLU31c-1668508166038)(F:\typora插图\image-20221115173226724.png)]

方式二:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FNIrDhwo-1668508166039)(F:\typora插图\image-20221115173343904.png)]

(二)外连接

左外连接

语法:

​ 写法:用表一 left join表二 on条件(join 表三 on条件)

作用:左外连接【表一全集并上两个的交集】,

右外连接

语法:

​ 写法:用表一 right join表二 on条件(right join 表三 on条件)

作用:右外连接【表二全集并上两个的交集】

(三)自连接

作用:自连接是指在同一张表连接自身进行查询。

例如:select 表别名.属性 from 表名 as 别名1,表名 as 别名2;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3SEi13Ry-1668508166039)(F:\typora插图\image-20221115174351880.png)]

(四)子查询

子查询就是将表的查询结果作为另一个表的来源进行查询。相当于是一个数据查询的小技巧——把一个子查询当做一个临时表使用。

单行子查询:返回一行记录的子查询,可以用=接收

多行子查询:返回多行记录的子查询,可以用(not)in接收。当然也可以用exists,但是这个只有内层查询有结果的时候外层才执行。

(五)合并查询

合并多个查询是合并多个select的执行结果。一般使用union和union all这两种集合操作符比较多。

前提:两个表查询得到的临时表字段是一致的

union:该操作符用于取得两个结果集的并集。当使用该操作符时,会自动去掉重复行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yzAu2Wvz-1668508166040)(F:\typora插图\image-20221115175244630.png)]

union all:该操作符用于取得两个结果集的并集。当使用该操作符时,不会去掉结果集中的重复行

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wUW5IA6B-1668508166040)(F:\typora插图\image-20221115180001357.png)]

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深入ftrace function graph功能

学习完了ftrace的function的基本功能&#xff0c;其作用主要是用来跟踪特定内核函数调用的频次&#xff0c;对于内核&#xff0c;特别是初学者&#xff0c;对于函数的调用关系不清晰&#xff0c;并且内核中有很多函数指针&#xff0c;会把我们弄的摸不着头脑&#xff0c;那么我…

C语言百日刷题第九天

前言 今天是刷题第9天&#xff0c;放弃不难&#xff0c;但坚持一定很酷~ 快来跟我一起刷题吧。 加油&#xff0c;一起努力进步 C语言百日刷题第九天前言76.计算偶数的所有质因子77. 提取不重复的整数78.二进制中1的个数79.猴子分桃80.百钱买百鸡76.计算偶数的所有质因子 输入…

可防离职员工冒用身份,合合信息名片全能王与钉钉用数字名片打造安全“围栏”

名片全能王与钉钉发布数字名片&#xff1a;可防离职员工冒用身份&#xff0c;追踪营销线索 名片是人际交往中的一条纽带。秦汉有竹制的“谒”&#xff0c;唐代纸质的“名刺”也被沿用许久。如今&#xff0c;无实体的数字名片在商务人士中已十分普及&#xff0c;科技加持下&…

共享存储知识

文章目录一、架构图二、RAID&#xff08;廉价冗余磁盘整列&#xff09;三、存储操作四、FusionCompute对接存储五、添加数据存储时的选项六、磁盘配置模式七、磁盘模式八、快照九、FC-SAN一、架构图 SAN&#xff08;存储区域网络&#xff09; IP-SAN&#xff08;SCSI协议封装在…

Linux多线程C++版 线程基础 进程和线程关系 线程分类 Linux线程实现 线程表示

目录1.线程的基础2.进程和线程的关系3.线程分类 了解4.Linux线程实现5.线程标识1.线程的基础 进程是资源管理的最小单位&#xff0c;线程是程序执行最小单位。每个进程有自己的数据段&#xff0c;代码段和堆栈段。线程通常叫做轻型的进程&#xff0c;它包含独立的栈和CPU寄存器…

[附源码]java毕业设计基于的楼盘销售管理系统论文2022

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

SpringCloud Gateway 自定义Filter用代码怎么写?别再说我只会配置基本Filter了,来学学如何定制Filter过滤器

文章目录学习SpringCloud Gateway自定义全局Filter&#xff08;GlobalFilter&#xff09;ServerWebExchange自定义非全局Filter&#xff08;GatewayFilter&#xff09;学习SpringCloud Gateway SpringCloud Gateway使用及原理分析大全——断言及过滤器&#xff08;上篇&#x…

【openwrt】libubox组件——uloop_process

uloop_processuloop_process主要数据结构struct list_head processesstruct uloop_processuloop_process主要函数uloop_handle_processesuloop_process原理uloop_process使用示例uloop_process 是 Libubox 提供的一个进程管理工具,它主要用来等待子进程工作的结束&#xff0c;一…

DAP和IAP

DAP和IAP DAP模型&#xff1a;通过训练样本学习一组属性分类器直接预测测试样本的属性。 IAP模型&#xff1a;通过训练样本的类别&#xff0c;&#xff08;多分类器&#xff09;间接预测测试样本的属性。 两者之间的区别&#xff1a;属性分类器的学习方式&#xff0c;DAP是一组…

labelme做标注

1.anaconda 安装 anaconda下载地址如下&#xff1a; 官网 一直下一步&#xff0c;注意下面这个地方 同时手动配置环境变量&#xff0c;下面三个路径需添加 Anaconda安装路径 Anaconda安装路径\Scripts Anaconda安装路径\Library\bin 最后测试一下 cmd 依次输入 conda…

云原生周刊 | 百家争鸣的边缘计算时代即将到来?| 2022-11-14

今年的 KubeCon 大会有一个很奇怪的现象&#xff0c;到场的几乎都是小公司&#xff0c;没有大公司。可能是因为这些大公司恰好在这个时候都有自己的活动要举办&#xff0c;也有可能是他们正在快马加鞭研发他们的边缘计算方案&#xff1f;因为 Gartner 预测到 2025 年&#xff0…

Mybatis—LanguageDriver

LanguageDriver主要用于构造SqlSource和ParameterHandler&#xff0c;从LanguageDriver在Mybatis中调用链路来看&#xff0c;Configuration#newParameterHandler通过调用LanguageDriver#createParameterHandler完成构建ParameterHandler&#xff0c;通过调用LanguageDriver#cre…

缺流量时代,App们需要如何突围?

距离上一个现象级的应用抖音出现已经过去了6年&#xff0c;如今App市场万马齐喑&#xff0c;巨头创新不断&#xff0c;中小团队异军突起的App黄金时代一去不返。 你的App里多久没有出现过一款新应用了&#xff1f; 距离上一个现象级的应用抖音出现已经过去了6年&#xff0c;那…

基于加权对立和贪婪搜索多模态工程问题的黑猩猩优化算法(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

【网络安全】处理应急响应的简单方法

目录 一、应急响应 &#xff08;1&#xff09;概念 &#xff08;2&#xff09;分类 二、如何处理 &#xff08;1&#xff09;查看日志 &#xff08;2&#xff09;封堵ip &#xff08;3&#xff09;代码加固 &#xff08;4&#xff09;安装防火墙 &#xff08;5&#x…

sqli通关笔记

sqli通关学习笔记 目录sqli通关学习笔记Less-1Less-2Less-3Less-4Less-5Less-5Less-6导入导出文件相关的操作Less-7Less-8Less-9Less-10Less-11Less-12Less-13Less-14Less-15Less-16增删改函数介绍Less-17HTTP 头部介绍Less-18Less-19Less-20Less-21Less-22高级注入&#xff0c…

【网络篇】第十四篇——HTTP协议(一)(附带电视剧李浔同款爱心+端口号被恶意占用如何清除)

目录 HTTP简介 基本性质 URI和URL urlencode和urldecode HTTP协议格式 HTTP请求协议格式 HTTP响应协议格式(爱心代码端口清理) ​ HTTP简介 超文本传输协议是一个用于传输超媒体文档的应用层协议。它是为web浏览器与web服务器之间的通信而设计的&#xff0c;但也可以用…

【DPDK】使用 Open vSwitch * 采用 DPDK 帧间 VM NFV 应用程序

一、概述 数据面开发套件 (DPDK)提供高性能数据包处理库和用户空间驱动程序。从Open vSwitch (OVS)版本 2.4 (http://openvswitch.org/releases/NEWS-2.4.0)开始&#xff0c;我们可以进行 OVS 中&#xff0c;使用 DPDK 优化 vHost 路径。DPDK 支持后的 OVS 中可用的 2.2 版。 …

JavaSE——包装类、装箱与拆箱

目录 一、基本概念 1.1 八种包装类及使用场景 1.2 装箱与拆箱的概念 二、以Integer包装类为例 2.1 Integer的构造方法 2.2 通过常量获取最大值与最小值 2.3 自动装箱和自动拆箱&#xff08;非常重要的面试题&#xff09; 三、Integer常用方法 3.1 手动拆箱&#xff08;过时…

LeetCode-剑指44-数字序列中某一位的数字

1、找规律 我们通过找规律可以发现&#xff0c;当位数为xxx时&#xff0c;其占用的位数为x910x−1x\times9\times10^{x-1}x910x−1。因此我们可以不断循环并增大位数xxx直至n−x<x910x−1n-x<x\times9\times10^{x-1}n−x<x910x−1&#xff0c;此时数字落在剩余的位数…