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

【MySQL】基本查询

目录

增加

查询

基本查询

where子句

结果排序

筛选分页结果

修改(更新)

删除

普通删除

截断表

插入查询结果

聚合函数

分组查询


这一节的内容是对表内容的增删查改,其中重点是表的查询

增加

语法:

INSERT [INTO] table_name

[(column [, column] ...)]
VALUES (value_list) [, (value_list)] ...

value_list: value, [, value] ...

这里面带[]的是可以省略的。values左边是要插入的列,右边是对应列的值 

我们先创建一张表

全列插入与指定列插入

values左侧是要插入的列,右侧是对应列的数值。values左侧省略就是全列插入,左侧有值就是指定列插入。

单行插入与多行插入

单行插入是指一次插入一行数据,多行插入是指一次插入多行数据

上面的都是单行插入,现在来看看多行插入

无论是单行插入,还是多行插入,都是可以全列插入或指定列插入的。

插入否则更新

我们前面介绍过主键和唯一键,当我们向表中插入数据时,是有可能会触发主键/唯一键冲突的。此时可以选择性地进行同步更新操作。语法:

INSERT ... ON DUPLICATE KEY UPDATE column = value [, column = value] ...

此时是若没有发生冲突,就插入,若发生了冲突,就更新。注意,更新时也不能让主键/唯一键冲突


可以看到,前面和后面也并不一定要一样。

我们可以托命令执行后的语句来判断命令执行的结果

 命令执行后语句代表含义
0 rows affected表中有数据冲突,但冲突数据的值和update的值相等
1 rows affected表中没有数据冲突,数据被插入
2 rows affected表中有冲突数据,并且数据已经被更新

我们也可以使用row_count函数来查看前一个SQL语句影响的行数来判断执行结果。返回值:

返回值含义
正整数操作影响的行数或查询结果的行数
0没有行受到影响,或查询返回空结果
-1通常表示错误或操作不支持行计数
-2某些驱动中表示行数未知

 

替换

在上面的插入否则更新中,可以看到,是将冲突的数据修改成我们指定是数据,而现在说的替换,是将原先冲突的数据删除,再重新插入


从这里的id值就可看出是先删除再插入

同样可以根据命令执行后的语句判断命令执行结果

命令执行后语句代表含义
1 rows affected表中没有数据冲突,数据被插入
2 rows affected表中有数据冲突,删除后重新插入

查询

这是最关键的步骤。语法:

SELECT

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

LIMIT ...

distinct是去重。后面跟*或者指定列,*表示的是对全部的列进行查询。from是对那个表进行查询。where是筛选条件。order by是排序。limit是限定筛选出的结果条数。

我们先创建一个表,方便我们后面进行操作

并向其中插入一些数据

基本查询

全列查询

全列查询就是select的后面跟*

通常不建议使用 * 进行全列查询:
1. 查询的列越多,意味着需要传输的数据量越大
2. 可能会影响到索引的使用

指定列查询

指定列查询就是select后面跟列的名称

查询字段为表达式

select后面跟的就是要被执行的表达式,这个表达式可以是select自带的各种表达式,也可以是1+1等


像这样就是给筛选出的信息每一行加上77

既然可以计算1+1,那么就一定可以计算几行之和,因为几行之和也是一个表达式

可以给筛选出来的一列取别名

as是可以省略的

结果去重

可以在select的后面加上一个distinct进行结果去重

where子句

where子句是用来进行条件筛选的。刚刚是对表整体的信息进行筛选,是筛选出要显示的列,而where子句是筛选出要显示的行。where子句一般需要配合运算符进行使用。
比较运算符:

逻辑运算符:

解释一下上面的NULL不安全。在MySQL中,0、'\0'是不等于NULL的,=是不能用于判断一个值是否等于NULL的。

不等于的两个都是NULL不安全的。更喜欢使用is null或者is not null来判断一个值是否是空

我们使用一些案例来看一下where子句如何写

英语不及格的同学及其英语成绩

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


也可以使用between

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


也可以使用in,in是满足任意一个就为真

姓孙的同学及孙某同学

刚刚的都是比较是否相等、范围比较、判断是否在集合当中,有时候匹配时并不能确定非常细节的字段含义,可能只给了一个很模糊的搜索字段关键字,此时就可以使用like。%表示匹配任意多个字符(包括0个),_表示匹配任意一个字符。

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


所以,可以一个列与数字比较、一个列与字符串比较、模糊匹配,也可以列与列之间比较

总分在200分以下的同学


所以,where子句后面是可以跟表达式的。上面的太长了,我们试试给它们取别名。

为什么第一句可以,第二句就不行呢?这就需要考虑在select语句中的执行顺序了。

数字代表执行顺序。所以,在执行到where时还没有执行到重命名,自然不认识重命名后的值。总结:不能在筛选时进行重命名,因为这属于是显示的范畴了。重命名应该是在筛选完了,最后显示时才弄。

语文成绩大于80,并且不姓孙的同学

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


MySQL支持将条件使用一个括号括起来,表示一个条件

NULL的查询

我们创建一张表,并向其中插入一些包含NULL的值


id为5的name是插入了一个空串

可以看到,空串和null是不同的

结果排序

可以使用order by子句来对查询出的结果进行排序。asc是升序,desc是降序,默认情况下是升序。注意:没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序。没有使用order by子句时,是根据表中的原始数据进行罗列的,永远不要依赖这个顺序,即使这个顺序本身就是有序的。

同样使用几个案例来熟悉一下order by子句

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

同学的姓名,排序显示

我们找一个包含NULL的列的表,看看NULL在排序中的数值大小

NULL视为比任何值都小

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

这里的意思是,当数学成绩相同时,按英语升序排序,当英语成绩也相同时,按语文升序排序

因为默认情况下是升序的,所以可以将一些升序去掉

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


可以看到,使用order by进行结果排序时是可以使用别名的。只有当数据筛选好了之后,才可以进行排序

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

筛选分页结果

MySQL中limit子句用于限制select语句返回的结果数量

  • 起始下标为0,也就是说select的结果的第一行下标为0
  • 从0开始,筛选n条结果
    select ... from table_name [where ...] [order by ...] limit n;
  • 从s开始,筛选n条结果,s是下标,n是步长
    select ... from table_name [where ...] [order by ...] limit s, n;
    所以,limit 3等同于limit 0, 3
  • 从s开始,筛选n条结果,s是下标,n是步长,比第二种用法更明确,建议使用
    select ... from table_name [where ...] [order by ...] limit n offset s;

建议:对未知的表进行查询时,最好加一条LIMT1,辟免因为表中数据过大查询全表数据导致数据库卡死

limit可实现简单的分页功能

获取班级总分第一

将班级总分大于200分的同学分成3个等级,每个等级最多两个同学

只有当数据准备好了,才要进行显示,limit的本质就是对显示的限制

修改(更新)

语法

UPDATE table_name SET column = expr [, column = expr ...]

        [WHERE ...] [ORDER BY ...] [LIMIT ...]

将指定列的值修改成什么,左侧是列名,右侧是表达式。一般需要通过where来限定行,否则会将这个表中所有的这一列都修改成这个值

对查询到的结果进行列值更新

将孙悟空同学的数学成绩变更为 80 分


可以看到,此时只有孙悟空的数学变成了80,若没有where会将这个表中math这一列所有的值都修改成80

将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分

将总成绩倒数前三的 3 位同学的数学成绩加上 30 分


MySQL是不支持+=的

将所有同学的语文成绩更新为原来的 2 倍

注意:更新全表的语句慎用

删除

普通删除

语法

DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]

delete from table_name,这样是删除整张表的数据,表的结构不变。若想要将表删除,需要使用drop

删除孙悟空同学的考试成绩

删除成绩倒数第一的同学

删除整张表的数据

注意:删除整张表的数据要慎用

我们先创建一个测试表

并向其中插入一些数据


id会自增是因为维护了计数器


会发现使用这种方式将表内的数据清除后,计数器并没有变化

截断表

这是另外一种将表内容清空的方式

TRUNCATE [TABLE] table_name

注意:这个操作一定要慎用

先准备一个测试表

并向其中插入一些数据

现在使用truncate将表清空

这种清空表的方式,同样不会改变表的结构,但是会将计数器重新置位

truncate与delete的区别

  • truncate只能对整表操作,不像delete一样针对部分数据操作
  • truncate会重置auto_increment项
  • truncate不走事物,直接将表的内容清空,delete会先变成事物,再将表的内容清空,所以,truncate更快

插入查询结果

INSERT INTO table_name [(column [, column ...])] SELECT ...

将从其他表中查询到的结果插入到insert后面的表中。属于是SQL语句的组合使用

删除表中的重复数据

我们先创建一个测试表,并向这个表中插入一些数据

此时可能会想到

这样明显是不行的,因为这样只是查询时去重,表内的数据是没有去重的

我们此时想去重,可以再创建一张新表,将现在这张表查询去重后的结果插入到新表中。再将原来的表重命名,并将新表的名字改成原来表的名字

为什么最后要使用rename的方式进行,而不是直接修改目标表呢?
MySQL建一个数据库就是建一个文件夹,创建一个表就是创建一个文件(在C/C++中就是open/fopen),就是学指令时的touch。重命名调用的就是rename这样的系统调用,mv也一样。现在想将一个文件以原子的方式上传Linux的某目录下,这个文件可能比较大,不会一下上传完成,若直接上传到这个目录下不一定是原子的。一般会将这个为文件上传到一个临时目录下,全部上传完成后,再将这个文件move到指定的目录下面,因为move是原子的。就是单纯地相等一切都就绪了,然后统一放入、更新、生效等。

聚合函数

函数说明
COUNT([DISTINCT] expr) 返回查询到的数据的数量
SUM([DISTINCT] expr)返回查询到的数据的总和,不是数字没有意义
AVG([DISTINCT] expr)返回查询到的数据的平均值,不是数字没有意义
MAX([DISTINCT] expr)返回查询到的数据的最大值,不是数字没有意义
MIN([DISTINCT] expr)返回查询到的数据的最小值,不是数字没有意义

 聚合是有条件的,一定要保证列的数据类型是可以被聚合的

计算班级共有多少同学

统计本次考试的数学成绩个数


因为数学成绩中有重分的,所以直接统计肯定是不行的,需要去重

这样是对聚合后的结果进行了去重,聚合后的结果就是一个数字,没有必要去重
我们应该是对math去重,去重后再让其聚合

统计数学成绩总分

统计英语成绩不及格的人数

统计数学成绩的平均分

方法一

方法二

获取英语的最高分

如果我们向要同时获取英语最高峰和这个最高分的名字

像这样是会报错的。聚合是需要先将数据筛选出来,并且保证数据能够被聚合才能使用的,name的数据类型不允许被聚合,此时需要先分组再聚合。若想知道英语最高分是谁,应该orderby+limit

分组查询

在select中使用group by 子句可以对指定列进行分组查询

select column1, column2, .. from table group by column;

分组的目的是为了分组之后,方便进行聚合统计。是先将数据拿到,然后分组,分组完成后进行聚合统计。如我们想统计一下班级中男生、女生的数学最高分是多少,此时就可以将男生、女生分成不同组,再进行聚合统计

我们可以将分组,理解成"分表"。也就是说,将根据某一条件分组后的每一个结果,都看成是一个表。并且我们前面查询后的结果等,虽然只是表内的一部分数据,我们也可以看成是一张完整的表

我们先导入我们要进行实验的数据库


传输完成后就能看到当前目录下就有了.sql文件

再使用这个语句就可以将这个.sql里面的SQL在MySQL中执行一遍

此时就多了一个数据库。这个数据库中有3个表。dept是部门信息表,emp是员工信息表,salgrade是员工薪资等级表

显示每个部门的平均工资和最高工资

我们需要根据部门将表划分成多个部分,然后针对每一个部分进行统计

显示每个部门的每种岗位的平均工资和最低工资

我们需要先根据部门进行分组,再针对每个部门的不同岗位进行分组,然后再统计
group by后面是可以跟多个列名称的,表示根据多个条件进行分组

会发现加上员工的名称就会报错,因为分到最下面,部门、岗位是相同的,这两个可以进行聚合压缩,但是组内每个人的姓名是不同的,不能进行聚合压缩。当我们涉及到聚合压缩时,只有出现在group by后面的列名称和聚合函数可以放在select后面

显示平均工资低于2000的部门和他的平均工资

第一:需要先聚合统计出每个部门的平均工资
第二:对聚合统计的结果进行判断


这是聚合出来的结果,接下来需要对聚合的结果进行判断。对聚合的结果进行判断就需要使用having。前面的先执行,然后再执行having,所以是可以使用别名的

having是对聚合统计后的数据进行条件筛选的

having  vs  where

having和where都可以进行条件筛选,但是两者是完全不同的条件筛选

我们将上面SQL语句的having改成where会发现就不行了

会发现having完全是可以充当where的功能的。因为我们前面说了,我们将分组后的结果当成一张表,而emp本身就是一张表

假设我们现在要:显示平均工资低于2000的部门和他的平均工资,且员工SMITH不参与


所以,having和where都是进行条件筛选,但是条件筛选的阶段是不同的

最后再强调一遍:不要单纯的认为,只有磁盘上表结构导入到mysql,真实存在的表,才叫做表;中间筛选出来的,包括最终结果,在我看来,全部都是逻辑上的表!

相关文章:

【MySQL】基本查询

目录 增加 查询 基本查询 where子句 结果排序 筛选分页结果 修改(更新) 删除 普通删除 截断表 插入查询结果 聚合函数 分组查询 这一节的内容是对表内容的增删查改&#xff0c;其中重点是表的查询 增加 语法&#xff1a; INSERT [INTO] table_name [(column [, …...

hive默认的建表格式

在 Hive 中创建表时&#xff0c;默认的建表语法格式如下&#xff1a; CREATE TABLE table_name (column1_type,column2_type,... ) ROW FORMAT DELIMITED FIELDS TERMINATED BY , STORED AS TEXTFILE;在这个语法中&#xff1a; CREATE TABLE table_name&#xff1a;指定要创建…...

配置RSUniVLM环境(自用)

首先git clone这个仓库&#xff0c;但是好像不太行&#xff0c;就直接下载下来吧 创个容器弄&#xff0c;容器里需要conda gpu 镜像的话 在dockerhub找到了一个&#xff1a;docker pull vkashyap10/llava-next 下载在了 ssh root10.12.107.240 amos123 这个机器上。等会看…...

产品经理对于电商接口的梳理||电商接口文档梳理与接入

接口梳理7个注意点总结 ①注意要测试环境和生产环境。生产上线时候要提醒研发换到生产环境调用。 ②注意必输字段和选输字段&#xff0c;要传入字段的含义和校验。枚举值不清楚含义的要询问对方含义&#xff0c;比如说单据类型字段枚举值是B2C发货单&#xff0c;BBC发货单&am…...

深入探索Spark-Streaming:从Kafka数据源创建DStream

在大数据处理领域&#xff0c;Spark-Streaming是一个强大的实时流处理框架&#xff0c;而Kafka作为高性能的分布式消息队列&#xff0c;二者结合能实现高效的数据处理。今天就来聊聊Spark-Streaming中从Kafka数据源创建DStream的相关知识。 早期&#xff0c;Spark-Streaming通过…...

R 语言科研绘图第 41 期 --- 桑基图-基础

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…...

基于STM32的汽车主门电动窗开关系统设计方案

芯片和功能模块选型 主控芯片 STM32F103C8T6:基于 ARM Cortex - M3 内核,有丰富的 GPIO 接口用于连接各类外设,具备 ADC 模块可用于电流检测,还有 CAN 控制器方便实现 CAN 总线通信。它资源丰富、成本低,适合学生进行 DIY 项目开发。按键模块 轻触按键:用于控制车窗的自…...

Spring Boot 配置处理器深度解析:元数据驱动的工程实践

Spring Boot 配置处理器深度解析&#xff1a;元数据驱动的工程实践 引言&#xff1a;为什么关注配置处理器&#xff1f; 在 Spring Boot 中&#xff0c;spring-boot-configuration-processor 是支撑“配置即文档”“配置即代码”的基础设施。它通过编译期生成结构化的配置元数…...

深入详解人工智能数学基础——概率论中的贝叶斯深度学习

🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C++, C#, Java等多种编程语言开发经验,拥有高级工程师证书;擅长C/C++、C#等开发语言,熟悉Java常用开发技术,能熟练应用常用数据库SQL server,Oracle,mysql,postgresql等进行开发应用…...

Bandizip解压缩软件 v7.37 正式版解锁专业版

软件介绍 Bandizip 是一款专业的解压缩软件&#xff0c;号称解压速度最快的压缩和解压缩文件管理器。支持多核快速压缩、文件拖放&#xff0c;可创建带密码和多卷的压缩包&#xff0c;提取包括RAR/RAR5/7Z/ZIP在内30多种格式&#xff1b;支持WinZip、7-Zip和WinRAR及其它压缩格…...

算法笔记.spfa算法(bellman-ford算法的改进)

题目&#xff1a;&#xff08;来源于AcWing&#xff09; 给定一个 n 个点 m 条边的有向图&#xff0c;图中可能存在重边和自环&#xff0c; 边权可能为负数。 请你求出 1 号点到 n 号点的最短距离&#xff0c;如果无法从 1 号点走到 n 号点&#xff0c;则输出 impossible。 …...

HTML给图片居中

在不同的布局场景下&#xff0c;让 <img> 元素居中的方法有所不同。下面为你介绍几种常见的居中方式 1. 块级元素下的水平居中 如果 <img> 元素是块级元素&#xff08;可以通过 display: block 设置&#xff09;&#xff0c;可以使用 margin: 0 auto 来实现水平居…...

C#中用 OxyPlot 在 WinForms 实现波形图可视化(附源码教程)

今天给大家安利一个超级实用的绘图控件库——OxyPlot&#xff0c;配合WinForms使用&#xff0c;让你轻松绘制专业级图表&#xff01; 本文将手把手教你如何搭建一个简单的波形图显示窗口&#xff0c;完整步骤 源码解析&#xff0c;建议收藏&#xff01; 项目搭建步骤&#xf…...

arm-linux emmc镜像备份 和 rootfs镜像备份

介绍 对于系统镜像存储介质,我们更推荐使用eMMC, eMMC具有更快的读写速度和更高的稳定系, 而SD卡会有兼容性较差的问题, 使用部分品牌部分系列的SD卡会导致系统无法启动或运行异常。 另外,安卓系统镜像无法运行在SD卡上。 注意事项 使用野火LubanCat的镜像烧录到SD卡, 只…...

opencv--图像变换

图像变换 图像滤波用于处理像素(去噪)&#xff0c;从而改变图像质量。 图像的几何变换是指改变图像的几何位置、几何形状、几何尺寸等几何特征。 <详细了解&#xff0c;看opencv书> 概念 矩阵的运算 链接 齐次坐标 链接 齐次坐标就是用N1维来代表N维坐标&#xff…...

C语言基础(day0424)

目录 一. 键盘输入 1.1 grtchar&#xff08;&#xff09; 1.2 scanf&#xff08;&#xff09; 总结: 二. 全局变量/局部变量&#xff08;函数的分类&#xff09; 1.全局变量 2.局部变量 三.C语言内存模型&#xff08;堆栈内存and so on &#xff09; 3.1 栈区&#x…...

前端项目搭建集锦:vite、vue、react、antd、vant、ts、sass、eslint、prettier、浏览器扩展,开箱即用,附带项目搭建教程

前端项目搭建集锦&#xff1a;vite、vue、react、antd、vant、ts、sass、eslint、prettier、浏览器扩展&#xff0c;开箱即用&#xff0c;附带项目搭建教程 前言&#xff1a;一、Vue项目下载快速通道二、React项目下载快速通道三、BrowserPlugins项目下载快速通道四、项目搭建教…...

Next.js v15 eslint 规则配置

问题 An empty interface declaration allows any non-nullish value, including literals like 0 and "". If that’s what you want, disable this lint rule with an inline comment or configure the ‘allowInterfaces’ rule option.If you want a type meanin…...

【C语言经典算法实战】:从“移动距离”问题看矩阵坐标计算

&#x1f381;个人主页&#xff1a;User_芊芊君子 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 &#x1f50d;系列专栏&#xff1a;AI 【前言】 在C语言算法学习与实践领域中&#xff0c;矩阵相关问题是极具代表性且高频出现的题型。“移动距离”问题将…...

算法题(133):二维差分

审题&#xff1a; 本题需要我们多次对某个矩形区域的数据加k&#xff0c;最后输出加完的数据 思路&#xff1a; 方法一&#xff1a;二维差分 本题涉及的是对二维的区间加同一个数的操作&#xff0c;且只显示一次最终结果&#xff0c;所以我们可以使用差分的方法 二维差分的性质…...

java kafka

安装 安装下载 导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apach…...

数据结构【树和二叉树】

树和二叉树 前言1.树1.1树的概念和结构1.2树的相关术语1.3树的表示方法1.4 树形结构实际运用场景 2.二叉树2.1二叉树的概念和结构2.2二叉树具备以下特点&#xff1a;2.3二叉树分类 3.满二叉树4.完全二叉树5.二叉树性质6.附&#xff1a;树和二叉树图示 前言 欢迎莅临姜行运主页…...

.NET代码保护混淆和软件许可系统——Eziriz .NET Reactor 7

.NET代码保护混淆和软件许可系统——Eziriz .NET Reactor 7 1、简介2、功能特点3、知识产权保护功能4、强大的许可系统5、软件开发工具包6、部署方式7、下载 1、简介 .NET Reactor是用于为.NET Framework编写的软件的功能强大的代码保护和软件许可系统&#xff0c;并且支持生成…...

运维打铁:Centos 7使用yum安装 Redis 5

文章目录 一、安装前信息说明二、安装 Redis三、创建 Redis 相关数据目录四、启动 Redis 服务五、修改 Redis 数据目录和端口1. 修改 Redis 配置文件 /etc/redis.conf2. 拷贝数据到数据目录并授权3. 重启 Redis 并连接访问 六、常见问题及解决办法1. Redis 安装失败2. Redis 服…...

【蓝桥杯】可分解的正整数

可分解的正整数 定义一种特殊的整数序列&#xff0c;这种序列由连续递增的整数组成&#xff0c;并满足以下条件&#xff1a; 序列长度至少为 3。序列中的数字是连续递增的整数&#xff08;即相邻元素之差为 1&#xff09;&#xff0c;可以包括正整数、负整数或 0。 例如&…...

长城杯铁人三项初赛-REVERSE复现

前言 记录记录 1.LoginToMe int __fastcall main(int argc, const char **argv, const char **envp) {unsigned int v3; // eaxchar s[96]; // [rsp10h] [rbp-70h] BYREFint v6; // [rsp70h] [rbp-10h]int v7; // [rsp78h] [rbp-8h]int i; // [rsp7Ch] [rbp-4h]memset(s, 0, s…...

与终端同居日记:Shell交响曲の终极共舞指南

前言&#xff1a; 《与终端同居日记》特别篇&#xff1a;当文件们开始叠罗汉 亲爱的压缩包驯兽师&#xff1a; 欢迎来到「文件马戏团」&#xff01;在这里&#xff0c;zip是那个强迫症整理狂&#xff0c;tar是爱玩俄罗斯套娃的魔法师&#xff0c;而gzip——绝对是偷偷给文件喝…...

学习threejs,使用EffectComposer后期处理组合器(采用RenderPass、ShaderPass渲染通道),案例一

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.EffectComposer 后期…...

【AI 加持下的 Python 编程实战 2_10】DIY 拓展:从扫雷小游戏开发再探问题分解与 AI 代码调试能力(中)

文章目录 DIY 实战&#xff1a;从扫雷小游戏开发再探问题分解能力3 问题分解实战&#xff08;自顶向下&#xff09;3.2 页面渲染逻辑3.3 事件绑定逻辑 4 代码实现&#xff08;自底向上&#xff09;4.1 页面渲染部分4.2 事件绑定部分 写在前面 本篇将利用《Learn AI-assisted Py…...

【数据可视化-27】全球网络安全威胁数据可视化分析(2015-2024)

&#x1f9d1; 博主简介&#xff1a;曾任某智慧城市类企业算法总监&#xff0c;目前在美国市场的物流公司从事高级算法工程师一职&#xff0c;深耕人工智能领域&#xff0c;精通python数据挖掘、可视化、机器学习等&#xff0c;发表过AI相关的专利并多次在AI类比赛中获奖。CSDN…...

Cephalon端脑云:神经形态计算+边缘AI·重定义云端算力

前引&#xff1a;当算力不再是“奢侈品” &#xff0c;在人工智能、3D渲染、科学计算等领域&#xff0c;算力一直是横亘在个人与企业面前的“高墙”。高性能服务器价格动辄数十万元&#xff0c;专业设备维护成本高&#xff0c;普通人大多是望而却步。然而&#xff0c;Cephalon算…...

CSS简单实用的加载动画、骨架屏有效果图

效果图 .wxml <!-- 骨架屏 --> <view wx:for"{{skeleton}}" wx:key"index" class"container center" style"--w:{{item.w}}rpx;--h:{{item.h}}rpx" /> <!-- 加载 --> <view class"arco-loading center&quo…...

图论算法体系:并查集、生成树、排序与路径搜索全解析

从图论的基础理论入门&#xff0c;到深搜广搜搭建起图论的骨架。 从并查集到最小生成树&#xff0c;从拓扑排序到最短路径。 .... 群星璀璨&#x1f609; 并查集最小生成树 Prim算法Kruskal算法 拓扑排序&#xff08;kahn算法&#xff09;最短路径 Dijkstra算法 Dijkstra朴素Di…...

OpenAI为何觊觎Chrome?AI时代浏览器争夺战背后的深层逻辑

目录 引言&#xff1a;一场蓄谋已久的"蛇吞象"计划 一、Chrome&#xff1a;数字世界的"黄金入口" 1.1 用户规模对比&#xff1a;ChatGPT与Chrome的悬殊差距 1.2 Chrome的生态价值远超浏览器本身 二、OpenAI的"入口焦虑"与战略布局 2.1 AI时…...

DrissionPage 请求一次换一个代理(不重启chrome)

实现原理&#xff1a;通过插件实现 # !/usr/bin/python3 # -*- coding:utf-8 -*- """ author: JHC000abcgmail.com file: switch_ip.py time: 2025/4/23 22:05 desc:"""R""" 1. chrome s商店下载Proxy SwitchyOmega 3 (ZeroOme…...

JBoltAI 赋能金融文档:基于 RAG 的基金招募说明书视觉增强方案

在金融领域&#xff0c;基金招募说明书是投资者了解基金产品关键信息的重要文件。然而&#xff0c;这类文件通常以 PDF 格式呈现&#xff0c;内容繁杂、文本枯燥&#xff0c;对于普通投资者而言&#xff0c;理解起来存在一定难度。而如何利用 AI 技术对这类枯燥文本进行视觉增强…...

【玩转全栈】—— Django+vue3+讯飞星火API 实现前端页面实时AI答复

技术栈&#xff1a;vue3 element-plus axios pinia router Django5 websocket 讯飞星火API 本文将实现一个 AI 聊天对话功能&#xff0c;将前端用户输入问题以及之前对话发送给后端&#xff0c;通过 api 访问大模型&#xff0c;返回前端实时对话数据。 调用 讯飞星火API…...

1.1 java开发的准备工作(入门)

准备工作 一.JDK 开始写java程序之前需要安装jdk jdk是java开发工具&#xff0c;包含着JRE和里面的JVM(虚拟机&#xff0c;可以使得不同环境下都能运行Java程序)&#xff0c;和开发工具。 二.了解写程序的三大步骤步骤 java成功运行主要需要经过代码编写&#xff0c;编译&a…...

socket编程基础

上一篇 --- 网络基础概念&#xff08;下&#xff09;https://blog.csdn.net/Small_entreprene/article/details/147320155?fromshareblogdetail&sharetypeblogdetail&sharerId147320155&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link 理…...

根据定义给出json_schema:

根据您提供的智能体定义&#xff0c;以下是符合JSON Schema Draft-07规范的完整架构描述&#xff08;包含中文注释说明&#xff09;&#xff1a; {"$schema": ""title": "智能体架构规范","type": "object","req…...

深入微服务核心:从架构设计到规模化

作者&#xff1a;腾讯云开发者 原文&#xff1a;深入微服务核心&#xff1a;从架构设计到规模化 01 微服务 什么是微服务&#xff1f; 微服务就是一些协同工作的小而自治的服务。我们在一个单体系统中&#xff0c;通常会采用一些抽象层或者模块来保证代码的内聚性&#xff0c…...

linux与c语言基础知识(未全部完成)

文章很多处理论&#xff0c;没办法写出来&#xff0c;&#xff08;linux的一些理论问题&#xff0c;我有时间后&#xff0c;会逐个解决&#xff09; 文章大多数的理论来字这个链接&#xff0c; C语言快速入门-C语言基础知识-CSDN博客 一. linux&#xff08;Ubuntu&#xff09; …...

【专题刷题】滑动窗口(四):

&#x1f4dd;前言说明&#xff1a; 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录&#xff0c;按专题划分每题主要记录&#xff1a;&#xff08;1&#xff09;本人解法 本人屎山代码&#xff1b;&#xff08;2&#xff09;优质解法 优质代码&#xff1b;&#xff…...

小白自学python第一天

学习python的第一天 一、常用的值类型&#xff08;先来粗略认识一下~&#xff09; 类型说明数字&#xff08;number&#xff09;包含整型&#xff08;int&#xff09;、浮点型&#xff08;float&#xff09;、复数&#xff08;complex&#xff09;、布尔&#xff08;boolean&…...

Redis 服务自动开启、设置密码和闪退问题

一、Redis 服务自动开启 1、以管理员身份运行命令提示符 右键点击“命令提示符”图标&#xff0c;选择“以管理员身份运行”。 2、注册为 Windows 服务 redis-server --service-install 3、启动服务 redis-server --service-start 4、测试 Redis 连接 redis-cli ping …...

2025年渗透测试面试题总结-拷打题库14(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 2025年渗透测试面试题总结-拷打题库14 1. WAF存在的意义 2. 威胁感知能力衡量指标 3. 感知规则有效性…...

java后端开发day35--集合进阶(四)--双列集合:MapHashMapTreeMap

&#xff08;以下内容全部来自上述课程&#xff09; 1.双列集合 1.1 特点 双列集合一次需要存一对数据&#xff0c;分别为键和值键不能重复&#xff0c;值可以重复键和值是一一对应的&#xff0c;每一个键只能找到自己对应的值键值这个整体&#xff0c;我们称之为“键值对”…...

进行网页开发时,怎样把function()中变量值在控制台输出,查看?

在网页开发过程中&#xff0c;为了及时了解JavaScript中的function函数中的变量值&#xff0c;可以用控制台命令console.log()把变量的值在控制台输出&#xff0c;方便调试时对函数变量值进行了解。 看下面的一段示例&#xff1a; <!DOCTYPE html> <html> &l…...

【计算机网络】现代网络技术核心架构与实战解析

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现案例1&#xff1a;TCP服务端/客户端通信案例2&#xff1a;Wireshark抓包分析 三、性能对比测试方法…...

Python内置函数---bool()

用于将任意对象转换为布尔值&#xff08;True或False&#xff09; 1. 基本语法与参数 bool(x) - 参数&#xff1a;x为可选参数&#xff0c;可以是任意Python对象&#xff08;如数值、字符串、列表、自定义对象等&#xff09;。 - 返回值&#xff1a;根据x的真值性返回True或Fa…...