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

【MySQL】第二弹——MySQL表的增删改查(CRUD)

文章目录

  • 🎓一. CRUD
  • 🎓二. 新增(Create)
  • 🎓三. 查询(Rertieve)
    • 📖1. 全列查询
    • 📖2. 指定列查询
    • 📖3. 查询带有表达式
    • 📖4. 起别名查询(as ' ')
    • 📖 5. 去重查询(distinct)
    • 📖6. 排序查询(order by)
    • 📖7. 条件查询(where)
      • <font color= #32CD32 size=3> 1.比较运算符
      • <font color= #32CD32 size=3> 2.逻辑运算符
    • 📖8. 分页查询
  • 🎓四. 修改(Update)
  • 🎓五. 删除(Delete)
  • 总结

🎓一. CRUD

  • CURD: Create,Retrieve,Update,Delete
  • Create : 新增数据
  • Retrieve : 查询数据
  • Update : 修改数据
  • Delete : 删除数据

MySQL的工作就是组织管理数据,先保存,保存好了后好进行增删改查,增删改查的前提是已经把数据库创建好,并且选中数据库,表也创建就绪

  • 如何注释?
    在SQL中可以使用“–空格+描述”来表示注释说明

🎓二. 新增(Create)

insert into 表名 values(值, 值, 值…);

注意此处的值的个数要和表的列数匹配,值的类型也要和列的类型匹配(不匹配就会报错!)

这里也体现了关系型数据库的一个优势:对数据进行更严格的校验检查,更容易发现问题

①我们在库里创建一个学生表
在这里插入图片描述
②查看表的结构
在这里插入图片描述
③新增数据
在这里插入图片描述

注意:在SQL中可以单引号也可以用双引号,表示字符串,两种都可以,这两个是等价关系,在SQL中没有"字符类型",只有字符串类型,所以单引号也可以表示字符串

注意:这里表的列数不匹配或是类型不匹配,都会报错
在这里插入图片描述
出现ERROR意味着当前的操作是不生效的

  • 扩展
    这里可以插入中文数据
    在这里插入图片描述
    数据库表示中文需要明确字符编码,MySQL默认的字符集叫做拉丁文,不支持中文,为了可以存储,就需要把字符集改为UTF-8。我们这里直接修改MySQL的配置文件,直接把字符集改为UTF-8

至此MySQL配置修改就彻底结束了,我们继续insert的探讨

insert插入的时候可以指定列进行插入,不一定非得把这一行的所有列都插入数据,可以想插入几列就插入几列

在这里插入图片描述

名字列插入王五,其他列未被插入,比如id列,就会填入默认值NULL

insert语句也可以依次插入多条记录,在values后面,写多组(),每个()之间使用逗号分割

mysql>  insert into student values(1,"zhangsan"),(2,"lisi"),(3,"wangwu");
Query OK, 3 rows affected (0.00 sec)
Records: 3  Duplicates: 0  Warnings: 0

MySQL中,一次插入多条记录比不同的一条记录多次插入要快得多!

  • 主要是因为MySQL是一个客户端/服务器结构的程序,每次在客户端里输入的命令,都是通过网络来进行输入的

在这里插入图片描述

  • 数据库服务器需要解析请求,获取到其中的sql,解析sql执行相关操作,并且把操作结果返回给客户端
  • 如果要是一次插入一条,分成多次插入就会有多个请求/响应,如果要是一次插入多条,就一次请求/响应就够了
  • 所以还是一次请求/响应 快多了

插入是SQL中最简单的操作,也是最常用的操作

🎓三. 查询(Rertieve)

查询是SQL中最重要也是最复杂的操作,这里我们先介绍的是最简单的查询

📖1. 全列查询

  • 直接把整个表的数据查询出来

select * from 表名;
其中 * 是通配符 表示匹配任意的列(也就是所有的列)

在这里插入图片描述

注意:要理解这里的执行过程,客户端和服务器之间通过网络进行通信

这一组结果是通过网络返回的,最终呈现在客户端上,这些数据是服务器筛选得到的数据结果客户端也是以表格的形式进行呈现,但是大家不要把客户端显示的这个表格视为是服务器上数据的本体,这个客户端上显示的表格是个“临时表”

问题:如果当前数据库的数据特别多,执行select * 会发生什么?

  • 服务器要先读取磁盘,把这些数据都查询出来,再通过网卡把数据传输给客户端,由于数据量非常大,极有可能就把磁盘IO(input output)吃满或者把网络带宽吃满。最直观的感受就是会感受到卡顿,至于卡多久,不明确! 不可控!
  • 所以在我们的生产环境中这也是一个比较危险的操作,数据很多可能会达到TB级别,磁盘资源和网络资源在服务器上都是非常紧缺的资源,一定要珍惜我们有限的资源,全列查询可能会将服务器资源吃光,其他的操作就要等待当前操作执行完成,才能继续执行

在执行一些SQL的时候如果执行的时间比较长,随时可以按 Ctrl + c 来中断,以免造成不必要的损失

📖2. 指定列查询

select 列名,列名,列名… from 表名; //需要查询几个列,就写几个列

在这里插入图片描述

当我们省略掉一些不必要的列的时候,就可以节省大量的磁盘IO和网络带宽

同样的,MySQL是客户端服务器结构的程序,在此处看到的这个表结果,也同样是 " 临时表 " 只是在客户端这里显示成这个样子,而不是说服务器上就真有一个这样的表,里面只存了id列

select所有的操作结果都是临时表,都不会影响到数据库服务器原有的数据!

📖3. 查询带有表达式

在这里插入图片描述

创建一个表exam 设置属性 插入数据

在这里插入图片描述
在这里插入图片描述

可以将所有的成绩加在一起,起别名为总分

别名最规范的写法是 : as ’ 总分 ’
给结果集中的字段起别名:select 列名[as] 别名[, 列名]… from 表名;

在这里插入图片描述

📖4. 起别名查询(as ’ ')

select name, chinese + math + english as ‘total’ from exam;

在这里插入图片描述

给结果集中的字段起别名:select 列名[as] 别名[, 列名]… from 表名;

📖 5. 去重查询(distinct)

  • 把查询结果相同的记录,合并为一条记录

select distinct 列名 from 表名;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 去重时,只有查询结果中所有的列都相同才会被认定为重复记录
  • 去重后,重复记录只保留一条

📖6. 排序查询(order by)

  • 查询过程中,对于查询到的数据进行排序(只是针对临时表,对于数据库原本的数据没有影响)

select 列名 from 表名 order by 列名[ ASC | DESC];

排序规则:1.升序 ASC 2.降序 DESC 不写默认为升序

在这里插入图片描述
在这里插入图片描述

不推荐这种写法,我们强烈建议明确指定排序规则

没有order by 子句时,返回结果集按哪个字段进行排序?
没有指定order by 子句时,永远不要依赖默认排序返回结果集顺序
不同版本的 MYSQL 是根据哪个字段进行排序的 是不明确的
依赖某个排序规则时,就明确子句中排序字段

在SQL中,如果NULL和其他类型进行混合运算结果依然那是NULL

NULL 数据排序,视为比任何值都小,升序排在最上面,降序排在最下面

在这里插入图片描述

MySQL中NULL比较特殊
1.无论和什么值进行运算,返回值都是NULL
2.NULL始终被判定为FALSE
3.NULL的值不是我们以前学习的其他编程语言的0在MySQL他就是NULL

  • 可以对多个字段进行排序,排序的优先级与书写顺序相关
  • 可以为每个字段指定不同的排序规则

在这里插入图片描述

📖7. 条件查询(where)

  • 指定条件,对于查询结果进行筛选
  • 通过一写运算符,过滤掉不符合条件的记录,符合条件的发那会给用户

select * from 表名 where 条件;

1.比较运算符

在这里插入图片描述
在这里插入图片描述

下面进行几个示例:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.逻辑运算符

在这里插入图片描述
在这里插入图片描述
逻辑运算符有优先级,不建议记忆,在使用时通过小括号的方式,手动指定优先级,这样可读性也会高一点

使用where条件的语法:select * from 表名 where 列名/表达式 运算符 条件;
条件查询时,首先要确定好给哪个列设置相应的条件

  • 做几个练习:
  • 1.查询英语不及格的同学及英语成绩
    在这里插入图片描述
  • 2.查询语文成绩好于英语成绩的同学
    在这里插入图片描述
  • 3.查询总分再200以下的同学

在这里插入图片描述
<出现这种现象和MYSQL内部实现有关,换句话说和MYSQL执行SQL语句的顺序相关>

1.如果要在数据中查询某些数据,首先要确定表,即先执行from
2.查询过程中,要根据指定的查询过程过滤符合条件的数据,这时执行where子句,也就是说执行where时total还没有被定义,所以不能使用别名
3.执行select后面指定的列,这些列加入到最终结果集中
4,执行order by 子句中指定的列名和排序规则进行最后的排序

  • 4.查询语文成绩>80,且英语>80的同学
    在这里插入图片描述
  • 5.查询语文>80 或 英语>80 的同学
    在这里插入图片描述

or 只要一个条件满足就符合整个查询条件
观察and 和 or 的优先级

在这里插入图片描述

  • 6.查询语文成绩在[80,90]的同学及语文成绩
    在这里插入图片描述

  • 7.查询数学成绩是 58 或者 59 或者 98 或者 99 的同学及数学成绩
    在这里插入图片描述

  • 8.%匹配任意多个(包括0个)字符

%匹配的字符没有限制

在这里插入图片描述

  • 9._匹配严格的一个任意字符
    在这里插入图片描述
    1. NULL的查询 : IS [NOT] NULL
      在这里插入图片描述

📖8. 分页查询

  • 使用 limit 关键字,来进行限制返回的结果条数,使用 offset 来确定从第几条开始进行返回

select 列名 from 表名 limit N offset M;
select 列名 from 表名 limit M,N;

之前我们学习select * from 表名;的时候,有提过,不加限制记录条数的查询是不安全的

分页查询在项目中运用非常多,只要查询的是一个记录的集合(多条记录)都在使用分页查询
在这里插入图片描述
通过分页查询可以有效的控制一次查询出来的结果集中的记录的条数,有效的减少数据库服务器的压力,同时对于用户页比较友好

  • 从第M条开始查询,返回N条记录

  • 1.从 0 开始,筛选 n 条结果

在这里插入图片描述

  • 2.从S开始,筛选N条结果
    在这里插入图片描述
    在这里插入图片描述

  • 3.从S开始,筛选N条结果,比第二种方法更明确,建议使用
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

S=(当前页号-1)*每页显示的记录数
第三页 S=(3-1)*2=4

  • 第三页查询
    在这里插入图片描述

🎓四. 修改(Update)

  • 此处的修改,针对数据库服务进行的,修改时持续有效的

update 表名 set 列名 = 值… where 子句;
针对哪个表 哪些行 哪些列 修改成什么值

  • 1.将孙悟空的数学成绩变更为80分
    在这里插入图片描述

  • 2.在插入一条同名的孙悟空同学
    在这里插入图片描述
    3.update exam set math = 100;
    update 操作的时候,如果不加where 条件,修改的是整张表的所有记录,这个操作非常危险,谨慎操作!

  • 4.将曹孟德的数学变更为60,语文 变更为70

update 表名 set 列名 = 值, 列名 = 值 where 条件;

在这里插入图片描述

  • 5.将总成绩倒数三位的同学,数学成绩减30分

如果是加上30分会超出我们原定的范围
我们创建表时用到的decimal(3,1)表示三个数字的长度,保留一位小数,如88.3 77.9
set 中可以包含表达式

update 表名 set 列名 = 列名 + 30 where 条件 order by 列名 排序规则 limit N;

在这里插入图片描述

  • 6.把所有语文成绩低于50的同学的语文成绩更新为原来的2倍
    在这里插入图片描述

🎓五. 删除(Delete)

delete from 表名 [where…] [order by…] [limit…]

在这里插入图片描述

  • 1.删除孙悟空同学的考试成绩
    在这里插入图片描述
  • 2.删除英语成绩倒数前三的同学的所有成绩
    在这里插入图片描述
  • 3.delete 的时候,如果不加where条件会出现什么问题–全删

如果删除时不加条件限制,那么整张表的数据都会被删除掉(清空)
这个操作是非常危险的
虽然可以恢复,每一条执行的SQL都会被记录到日志中,把日志中记录的操作,在执行一遍基本上就可以完成恢复

在生产环境中一般不使用delete操作
一般会在表中加一个deleteState字段,用来表示这条记录是否删除,0表示正常(没有删除) 1表示已删除,用update操作去更新deleteState字段,就可以实现删除功能,这条被删除的数据并没有实质上删除而是始终存在于数据库中

总结

在这里插入图片描述

相关文章:

【MySQL】第二弹——MySQL表的增删改查(CRUD)

文章目录 &#x1f393;一. CRUD&#x1f393;二. 新增(Create)&#x1f393;三. 查询(Rertieve)&#x1f4d6;1. 全列查询&#x1f4d6;2. 指定列查询&#x1f4d6;3. 查询带有表达式&#x1f4d6;4. 起别名查询(as )&#x1f4d6; 5. 去重查询(distinct)&#x1f4d6;6. 排序…...

Windows环境,Python实现对本机处于监听状态的端口,打印出端口,进程ID,程序名称

1、pip install tabulate 2、代码实现 #!/usr/bin/env python # -*- coding: utf-8 -*-""" Windows端口监听程序 显示本机处于监听状态的端口&#xff0c;进程ID和程序名称 """import subprocess import re import os import sys from tabulat…...

什么是变量提升?

变量提升&#xff08;Hoisting&#xff09; 是 JavaScript 引擎在代码执行前的一个特殊行为&#xff0c;它会将变量声明和函数声明自动移动到当前作用域的顶部。但需要注意的是&#xff0c;只有声明会被提升&#xff0c;赋值操作不会提升。 ​​核心概念​​ 变量声明提升&…...

Java大师成长计划之第15天:Java线程基础

&#x1f4e2; 友情提示&#xff1a; 本文由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;平台gpt-4o-mini模型辅助创作完成&#xff0c;旨在提供灵感参考与技术分享&#xff0c;文中关键数据、代码与结论建议通过官方渠道验证。 在现代软件开发中&#xff0c;多线程…...

中小企业设备预测性维护:从技术原理到中讯烛龙实践落地指南

在工业 4.0 与智能制造浪潮的推动下&#xff0c;中小企业正面临设备管理模式的深刻变革。传统的事后维修与预防性维护策略&#xff0c;因缺乏数据驱动与智能决策能力&#xff0c;已难以满足企业降本增效的核心诉求。据 Gartner 统计&#xff0c;非计划停机导致的生产损失平均每…...

mysql 复习

mysql定义与架构 数据库是按照数据结构来组织、存储和管理数据的仓库&#xff0c;方便我们增删查改。MySQL有客户端和服务器端&#xff0c;基于网络服务的&#xff0c;3306端口处于监听状态。 数据库的存储介质有以下两种&#xff1a; 磁盘&#xff0c;比如MySQL就是一种磁盘…...

高低比率策略

本策略的核心在于运用技术指标结合基本规则进行交易决策&#xff0c;旨在通过高低比率策略捕捉市场的超买和超卖信号&#xff0c;以此指导交易行为。 一、交易逻辑思路 1. 指标计算&#xff1a; - 本策略首先通过EMA&#xff08;指数移动平均&#xff09;计算快线和慢线的值&am…...

python线上学习进度报告

一、mooc学习 二、python123学习...

深入剖析ThreadLocal:原理、应用与最佳实践

深入剖析ThreadLocal&#xff1a;原理、应用与最佳实践 一、ThreadLocal的本质与价值 1.1 什么是ThreadLocal&#xff1f; ThreadLocal是Java提供的线程本地变量机制&#xff0c;允许每个线程拥有独立的变量副本&#xff0c;实现线程间的数据隔离。它通过“空间换时间”的方式…...

nginx 配置后端健康检查模块

nginx自带的针对后端节点健康检查的功能比较简单,通过默认自带的ngx_http_proxy_module 模块和ngx_http_upstream_module模块中的参数来完成,当后端节点出现故障时,自动切换到健康节点来提供访问。但是nginx不能事先知道后端节点状态是否健康,后端即使有不健康节点,负载均…...

路由交换实验

案例一&#xff1a;实施和配置RIPV2 1.给AR1配置接口 查看R1接口配置情况 2.配置三台路由的RIP协议&#xff0c;版本为version2 &#xff0c;关闭自动汇总&#xff0c;通告所有的直连接口 案例二&#xff1a;配置多区域的OSPF协议 1.配置R1的接口IP地址参数 2.配置r2,r3的接口参…...

主成分分析(PCA)是什么?简易理解版

文章目录 一、PCA的本质与核心价值二、数据中的"重要方向"&#xff1a;理解变异性三、主成分的数学基础四、荷载向量的深入理解五、PCA的计算过程详解5.1 数据预处理5.2 计算协方差矩阵5.3 特征分解5.4 主成分得分计算 六、PCA的实际应用解读七、PCA的工具与实现7.1 …...

Linux常用命令34——uname显示系统内核信息

在使用Linux或macOS日常开发中&#xff0c;熟悉一些基本的命令有助于提高工作效率&#xff0c;uname命令来自英文词组UNIX name的缩写&#xff0c;其功能是查看系统主机名、内核及硬件架构等信息。如果不加任何参数&#xff0c;默认仅显示系统内核名称&#xff08;相当于-s参数…...

Linux下使用openssh搭建sftp服务

创建 SFTP 用户组 为 SFTP 用户创建一个专用组&#xff1a; sudo groupadd sftpusers 创建 SFTP 用户 创建 SFTP 用户并将其添加到 sftpusers 组&#xff0c;同时指定用户的主目录和禁止 shell 访问&#xff1a; sudo useradd -g sftpusers -s /sbin/nologin username sud…...

C++ 复习(一)

命名空间 概念 &#xff1a; 命名空间的主要作用是创建一个新的作用域 里面可以放函数 变量 定义 为了防止命名冲突 实现 : 通过使用namespace 空间名 {} 在大括号中添加 内容 1. 这里命名空间允许嵌套 2. 在同一个工程中允许存在多个同名的命名空间 在最后编译…...

主备Smart Link + Monitor Link组网技术详细配置

1.实验拓扑 2.使用设备 eNSP模拟建议下行设备三台使用S3700模拟&#xff08;全部使用S5700可能会出现流量丢失等异常问题。&#xff09; 3.实验配置 [SW1]dis cu # sysname SW1 # vlan batch 100 110 # interface Ethernet0/0/1port link-type accessport default vlan 100 …...

【5G通信】redcap和bwp 随手记

在5G通信中&#xff0c;BWP&#xff08;Bandwidth Part&#xff09;是一种技术&#xff0c;允许终端设备在不同的带宽部分上进行通信&#xff0c;从而提高频谱效率和灵活性。BWP可以分为初始BWP&#xff08;Initial BWP&#xff09;、默认BWP&#xff08;Default BWP&#xff0…...

第三天 车联网云架构

一、车联网技术演进与行业变革 1.1 从传统Telematics到智能网联汽车 当我们驾驶着搭载智能网联系统的汽车时&#xff0c;车辆每秒会产生超过1GB的数据流量。这些数据包括&#xff1a; 高精度地图的实时更新ADAS传感器采集的环境信息车载娱乐系统交互数据车辆状态监控信息 传…...

手撕基于AMQP协议的简易消息队列-7(客户端模块的编写)

在MQClient中编写客户端模块代码 在MQClient中编写makefile文件来编译客户端模块 .PHONY:all all:PublichClient ConsumeClient PublichClient : PublichClient.cpp ../MQCommon/request.pb.cc ../MQCommon/message.pb.cc ../ThirdLib/lib/include/muduo/protobuf/codec.ccg …...

Spring Security(笔记)

第一步&#xff1a; 首先使用Intellij IDEA创建一个Spring Boot项目&#xff0c;JDK选择自己安装的1.8。点击Next后&#xff0c;编辑项目信息。然后跳转到选择依赖页面。 第二步&#xff1a; 添加Spring Security、Spring Web、Thymeleaf三个依赖。完成后等待项目构建完成。…...

通义灵码编码插件支持MCP

通义灵码MCP功能集成概述 通义灵码已深度集成魔搭社区&#xff08;ModelScope&#xff09;的MCP&#xff08;Model Context Protocol&#xff09;服务&#xff0c;为开发者提供了在IDE中直接调用AI能力的便捷通道。MCP作为标准化协议&#xff0c;通过定义Resources、Prompts和…...

问题 | 当前计算机视觉迫切解决的问题

当前计算机视觉领域虽然在技术上取得了显著进展&#xff0c;但仍面临一系列关键挑战。结合最新研究与应用现状&#xff0c;以下是最迫切需要解决的几大问题&#xff1a; 1. 数据质量与多样性不足 高质量标注数据的获取&#xff1a;训练高效模型依赖大量精准标注的数据&#x…...

C++ STL入门:vecto容器

C STL 系列入门&#xff1a;vector 动态数组 一、vector 容器核心特性 vector 是 C 标准库提供的动态数组容器&#xff0c;具有以下显著优势&#xff1a; 自动扩容机制&#xff1a;当插入元素超出当前容量时&#xff0c;自动申请新内存并迁移数据随机访问效率&#xff1a;支持…...

Java 线程全面概述

Java 线程全面概述 线程是程序执行的最小单元&#xff0c;是操作系统能够调度的最小单位。Java 提供了完善的线程支持&#xff0c;下面从基础概念到高级特性进行全面解析。 一、线程基础概念 1. 线程 vs 进程 特性进程线程资源占用独立内存空间共享进程内存切换成本高&#…...

高效文件夹迁移工具,轻松实现批量文件管理

软件介绍 DirMapper是一款专注于文件夹迁移的工具&#xff0c;可以快速完成文件的批量整理与位置调整。 功能特点 这款文件夹迁移工具提供两种操作模式&#xff1a;复制模式和移动模式&#xff0c;用户可以根据需求自行选择。如果需要保留原文件&#xff0c;可以选择复…...

sherpa:介绍

更多内容&#xff1a;XiaoJ的知识星球 目录 1. sherpa 介绍 1. sherpa 介绍 sherpa是 Next-gen Kaldi 项目的部署框架。 sherpa 支持在各种平台上部署与语音相关的预训练模型&#xff0c;并提供多种语言绑定。 目前&#xff0c;sherpa 拥有以下子项目&#xff1a; k2-fsa/sh…...

Android Studio Gradle 中 只显示 Tasks 中没有 build 选项解决办法

一、问题描述 想把项目中某一个模块的代码单独打包成 aar ,之前是点击 AndroidStudio 右侧的 Gradle 选项&#xff0c;然后再点击需要打包的模块找到 build 进行打包&#xff0c;但是却发现没有 build 选项。 二、解决办法 1、设置中勾选 Configure all Gradle tasks… 选项 …...

手撕基于AMQP协议的简易消息队列-6(服务端模块的编写)

在MQServer中编写服务端模块代码 在MQServer中编写makefile文件来编译服务端模块 .PHONY: server CFLAG -I../ThirdLib/lib/include LFLAG -L../ThirdLib/lib/lib -lgtest -lprotobuf -lsqlite3 -pthread -lmuduo_net -lmuduo_base -lz server:server.cpp ../MQCommon/messag…...

面试实践AND面经热点题目总结

1、对于Rocketmq消息积压、丢失如何解决&#xff1f; 消息积压原因以及解决方案 &#x1f3af; 产生原因&#xff1a; 消费者处理能力弱&#xff0c;消费速度远低于生产速度&#xff1b; 网络不稳定&#xff0c;消费者拉取消息失败&#xff1b; 消费端异常&#xff08;如处理…...

MySQL基础关键_012_事务

目 录 一、概述 二、ACID 四大特性 三、MySQL 事务 四、事务隔离级别 1.说明 2.现象 &#xff08;1&#xff09;脏读 &#xff08;2&#xff09;不可重复读 &#xff08;3&#xff09;幻读 3.查看隔离级别 4.设置隔离级别 5.隔离级别 &#xff08;1&#xff09;初始…...

Missashe考研日记-day35

Missashe考研日记-day35 1 专业课408 学习时间&#xff1a;3h学习内容&#xff1a; 完结撒花&#xff01;&#xff01;今天把OS最后一节的内容学完了&#xff0c;操作系统也算是告一段落了&#xff0c;接下来是计网时间&#xff01;不过计网我是上学期才学过的&#xff0c;当…...

如何添加二级域名

在 华为云 上添加二级域名&#xff08;如 sub.example.com&#xff09;主要涉及 DNS解析配置 和 服务器绑定 两个步骤。以下是详细操作指南&#xff1a; 一、前提条件 已拥有 主域名&#xff08;如 example.com&#xff09;并完成 ICP备案&#xff08;若服务器在中国大陆&#…...

【数据结构】01Trie

什么是 01Trie? 01Trie是字典树的一种变种&#xff0c;其只有两种情况&#xff0c;即 0 和 1&#xff0c;实现方式其实和字典树是一样的 有什么用呢&#xff1f; 其一般用于解决异或问题&#xff0c;是一种快速的数据结构&#xff0c;某些情况下可以无脑套用 实现方式&#…...

使用 CDN 在国内加载本地 PDF 文件并处理批注:PDF.js 5.x 实战指南

PDF.js 是一个强大的开源 JavaScript 库&#xff0c;用于在 Web 浏览器中渲染 PDF 文件。它由 Mozilla 开发&#xff0c;能够将 PDF 文档绘制到 HTML5 Canvas 或 SVG 上&#xff0c;无需任何本机代码或浏览器插件。对于许多需要在网页中展示 PDF 内容的应用场景来说&#xff0c…...

SpringBoot指定项目层日志记录

1、新建一个Springboot项目&#xff0c;添加Lombok依赖&#xff08;注意&#xff1a;这里使用的Lombok下的Slf4j快速日志记录方式&#xff09; <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId></dependenc…...

使用Mathematica内置函数绘制Sierpinski地毯

除了SierpinskiCurve之外&#xff0c;Mathematica还内置了SierpinskiMesh这个函数&#xff0c;用来绘制地毯。 SierpinskiMesh[n] gives a mesh region representing the n-step Sierpiński triangle. SierpinskiMesh[n,d] gives the n-step Sierpiński sponge in dimension…...

CMake笔记(简易教程)

CMake笔记 概述&#xff08;需要提前了解的知识&#xff09; 一个c/c程序从代码到生成二进制文件&#xff0c;需要经历的几个关键步骤&#xff1a;预编译&#xff08;预处理&#xff09;、编译、汇编、连接 【编译链接的几个步骤】 编译器&#xff1a;目前市面常见的编译器有…...

现代健康养生新范式:多维度守护身心活力

在快节奏的现代生活中&#xff0c;健康养生是维持高品质生活的关键。从环境调节到生活习惯养成&#xff0c;多个维度的协同发力&#xff0c;才能为健康注入持久动力。​ 良好的生活环境是健康的基础。室内空气流通至关重要&#xff0c;每天开窗通风 2-3 次&#xff0c;每次 30…...

推测式思维树:让大模型快速完成复杂推理

论文标题 Accelerating Large Language Model Reasoning via Speculative Search 论文地址 https://www.arxiv.org/pdf/2505.02865 作者背景 中科大&#xff0c;华为诺亚方舟实验室&#xff0c;天津大学 ICML 2025接收 动机 之前介绍过多篇投机解码&#xff08;推测式解…...

软考错题(三)

telnet协议是一种基于TCP的远程登录协议 占用辅助空间最多的是归并排序 直接插入&#xff0c;堆排&#xff0c;简单选择&#xff0c;冒泡的空间复杂度是O(1) 快排是O(logn) 归并是O(n) B树的叶子节点通过指针链接为有序表&#xff0c;不是b-树 python中切片语法[start,end,s…...

注解的定义

一、理论说明 1. 注解的定义 Java 注解是从 JDK 5.0 开始引入的一种元数据机制&#xff0c;它可以为代码添加额外的信息&#xff0c;这些信息不影响程序的运行逻辑&#xff0c;但可以在编译期、类加载期或运行期被读取和处理。注解本质上是一种特殊的接口&#xff0c;所有注解…...

企业微信自建消息推送应用

企业微信自建应用来推送消息 前言 最近有个给特定部门推送消息的需求&#xff0c;所以配置一个应用专门用来推送消息。实现过程大致为&#xff1a;服务器生成每天的报告&#xff0c;通过调用API来发送消息。以前一直都是发邮件&#xff0c;整个邮箱里全是报告文件&#xff0c…...

swagger3融入springboot

标签&#xff1a; 放controller上面 Api(description "xxx") 放方法上面 Operation(summary "xxx") 引入&#xff1a; 我用的是swagger3.X 需要在yml配置文件中加上&#xff1a; spring:mvc:pathmatch:matching-strategy: ant_path_matcher 然后生…...

CH32V208GBU6沁恒绑定配对获取静态地址

从事嵌入式单片机的工作算是符合我个人兴趣爱好的,当面对一个新的芯片我即想把芯片尽快搞懂完成项目赚钱,也想着能够把自己遇到的坑和注意事项记录下来,即方便自己后面查阅也可以分享给大家,这是一种冲动,但是这个或许并不是原厂希望的,尽管这样有可能会牺牲一些时间也有哪天原…...

[计算机科学#11]:编程语言简史,从二进制到简约表达的华丽转身,造就原因——“懒”

【核知坊】&#xff1a;释放青春想象&#xff0c;码动全新视野。 我们希望使用精简的信息传达知识的骨架&#xff0c;启发创造者开启创造之路&#xff01;&#xff01;&#xff01; 内容摘要&#xff1a; 由于早期的编程需要直接操作硬件&#xff0c;例如使…...

Kubernetes HPA 深度解析:生产环境自动扩缩容实战指南

一、HPA 核心原理剖析 1. 运作机制三步曲 (图示&#xff1a;指标采集 → 决策计算 → 执行扩缩容的完整闭环) 指标采集层&#xff1a;通过 Metrics Server/Prometheus 等组件实时收集 CPU、内存或自定义指标决策计算层&#xff1a;根据当前指标值与目标阈值的比例计算所需副本…...

Matlab 四分之一车体被动和模糊控制对比

1、内容简介 Matlab215-四分之一车体被动和模糊控制对比 可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 4、参考论文 略...

pm2如何执行脚本批量启动多个服务

在 PM2 中批量启动多个服务&#xff0c;可以通过以下几种高效方式实现&#xff0c;具体操作如下&#xff1a; 方法1&#xff1a;使用 ecosystem.config.js 配置文件&#xff08;推荐&#xff09; 步骤1&#xff1a;生成配置文件 在项目根目录运行以下命令&#xff0c;生成模板…...

Debian系统详解

以下是关于 Debian 操作系统 的超详细深度解析&#xff0c;涵盖历史、架构、功能特性、管理细节及应用场景等方面&#xff0c;帮助你全面掌握这一经典 Linux 发行版&#xff1a; 一、Debian 概述&#xff1a;开源社区的基石 1. 历史与定位 • 诞生&#xff1a;1993 年由 Ian…...

Dify X 奇墨科技,让AI大模型从“巨头专属”变为“触手可及”

AI大模型和AI Agent蓬勃发展&#xff0c;企业比拼的已不仅是AI技术储备&#xff0c;更是AI应用落地的实战能力。奇墨科技正式成为 AI 应用开发平台Dify中国大陆区企业版合作伙伴&#xff0c;帮助企业更便捷地接触到Dify并使用其开发AI应用。 Dify 是一款简单易用的 LLM 应用开…...