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

2.MySQL数据库操作

一.MySQL数据库介绍

数据库目前标准指令集是SQL,即结构化查询语言。SQL语言主要由以下几部分组成

DDL(数据定义语言):用来建立数据库、数据库对象和定义字段,如create、alter、drop。

DML(数据操纵语言):用来插入、删除和修改数据库中的数据,如insert、update、delete。

DQL(数据查询语言):用来查询数据库中的数据,如select,show。

DCL(数据控制语言):用来控制数据库组件的存取许可、存取权限等,如commit、rollback、grant、revoke。

二.数据库操作

1.系统数据库

经初始化后的MySQL服务器,默认建立了四个数据库:sys、mysql、information_schema、performance_schema。

information_schema:虚拟库,不占磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等

performance_schema:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象

mysql:授权库,主要存储系统用户的权限信息

sys:主要用于存储系统性能信息和监控数据,对数据库的性能优化和故障排除具有关键作用

2.数据库操作

2.1创建数据库

语法:

mysql>create  database  数据库名;

2.2数据库命名规则

可以有字母、数字、下划线、@、#、$

区分大小写

唯一性

不能使用关键字,如create、select

不能单独使用数字

最长128位

2.3选择数据库

语法:

mysql>USE  数据库名;

2.4查看数据库

mysql>show  databases;                                (查看当前数据库中有哪些表)

mysql>show  create  database  db1;              (显示创建名为db1的数据库时所使用的SQL语句)

mysql>select  database();                               (返回当前选中的数据库名称)

2.5删除数据库

mysql>drop  database  数据库名;

三.MySQL表操作

1.表介绍

库相当于文件夹,而表相当于文件,表中的一条记录就相当于文件的一行内容,不同的是,表中的一条记录有相应的标题,称为表的字段

例:

IDnameagesex
1张三18male
2李四68female
3王五20male

id、name、age、sex称为字段,其余的,一行内容称为一条数据记录。

2.查看表

使用show  tables查看当前所在的数据库中包含的表。操作之前,需要先使用use语句切换到所使用的数据库。

mysql>use  msyql;

mysql>show  tables;

3.创建表

3.1语法

mysql>create  table  表名 (字段名1  类型[(宽度)  约束条件],字段名2  类型[(宽度)  约束条件],字段名3  类型[(宽度)  约束条件];

注意:

a.在同一张表中,字段名是不能相同的

b.宽度和约束条件可选

c.字段名和类型是必须的,字段的类型宽度和约束条件是可选项

d.表中最后一个字段不要加逗号

3.2类型介绍

表内存放的数据有不同的类型,类似于使用excel存储数据时也需要设置的数据类型,每种数据类型都有自己的宽度,但宽度是可选的,不设置宽度时,会使用字段的默认宽度。

MySQL支持多种类型,大致可以分为三类:数值、日期/时间和字符串类型。对于约束数据的类型有很大帮助

数值类型:

类型大小范围(有符号)范围(无符号)用途
INT4字节(-2147483648,2147483647)(0,4294967295)大整数值
DOUBLE8字节(-1797E+308,-222E-308)(0,222E-308,1797E+308)双精度浮点数值
DOUBLE(M,D)8个字节,M表示长度,D表示小数位数同上,受M和D的约束DOUBLE(5,2)-999.99-999.99同上,受M和D的约束双精度浮点数值
DECIMAL(M,D)DECIMAL(M,D)依赖于M和D的值,M最大值为65依赖于M和D的值,M最大值为65小数值

日期类型:

类型大小范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3‘838:59:59'/838:59:59’HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD
HH:MM:SS
混合日期和时间值
TIMESTAMP41970-01-01 00:00:00/2038 结束时间是第 2147483647 秒北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日凌晨03:14:07YYYYMMDD
HHMMSS
混合日期和时间值,时间戳

字符串类型:

类型大小用途
CHAR0-255字符定长字符串 char(10) 10个字符
VARCHAR0-65535 字节变长字符串 varchar(10) 10个字符
BLOB(binarylarge object)0-65535字节二进制形式的长文本数据
TEXT0-65535字节长文本数据

3.3约束条件

约束条件与数据类型的宽度一样,都是可选参数,类似于使用excel存储数据时,可以利用excel的公示限制员工ID列:禁止重复值,且不能为空

约束条件作用:用于保证数据的完整性和一致性,只要分为:

约束条件说明
PRIMARY KEY (PK)标识该字段为该表的主键,可以唯一的标识记录
FOREIGN KEY(FK)标识该字段为该表的外键
NOT NULL标识该字段不能为空
UNIQUE KEY (UK)标识该字段的值是唯一的
AUTO_INCREMENT标识该字段的值自动增长(整数类型而且为主键)
DEFAULT为该字段设置默认值
UNSIGNED无符号
ZEROFILL使用 0填充
ENMU ()限制字段可以存储的值集合

3.4创建表示例

mysql>create  database db1;        (创建db1库)

msyql>use  db1;                             (进入db1库)

msyql>create  table  t1(id int,name  varchar(50), age  int(3), sex  enum('male','female'));

mysql>show  tables;

4.查看表结构

DESCRIBE语句:用于显示表的结构,即组成表的各字段(列)的信息。需要指定“数据库名.表名”作为参数;若只指定表名参数,则需先通过USE语句切换到目标数据库

mysql>describe  t1;                       (describe可简写成desc)

查看详细表结构或者创建表所使用的语句可以执行show  create  table  t1\G;(查看表详细结构),可以加\G,表示以长格式展示结果 

5.修改表

5.1修改表名

mysql>alter  表名  rename  新表名;

5.2增加字段

语法:

ALTER  TABLE  表名  ADD  字段名  数据类型  [完整性约束条件],ADD字段名  数据类型  [完整性约束条件...];

ALTER  TABLE  表名  ADD  字段名  数据类型  [完整性约束条件]  FLRST;

ALTER  TABLE  表名  ADD  字段名  数据类型  [完整性约束条件]  AFTER  字段名;

5.3删除字段

语法:

ALTER  TABLE  表名  DROP  字段名;

5.4修改字段

ALTER  TABLE  表名  MODIFY  字段名  数据类型  [完整性约束条件...];

ALTER  TABLE  表名  CHANGE  旧字段名  新字段名  旧数据类型  [完整性约束条件...];

ALTER  TABLE  表名  CHANGE  旧字段名  新字段名  新数据类型  [完整性约束条件...];

6.复制表

只复制表结构,不复制表中数据

mysql>create  table  t3  like  t2;

复制表结构+记录(key不会复制:主键、外键和索引)

create  table  t4  select  *  from  t2;

7.删除表

删除数据库中的表,需要指定“数据库名.表名”作为参数;若只指定表名参数,则需先通过执行“USE”语句切换到目标数据库

语法:

mysql>drop  table  t2;

msyql>drop  table  db1.t3;

四.MySQL数据操作

1.介绍

在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括使用INSERT实现数据的插入、使用UPDATE实现数据的更新、使用DELETE实现数据的删除、使用SELECT查询数据

创建示例表

msyql>use  db1;     (进入db1库)

msyql>create  table  t1(id  int,name  varchar(50),age  int(3),sex  enum('male','female'));

mysql>show  tables;

2.插入数据INSERT

insert  into  语句:用于向表中插入新的数据记录

格式:insert  into  表名  values(值1,值2,值3....);  

指定字段插入数据:insert  into  表名(字段1,字段2,字段3...) values(值1,值2,值3..);

插入多条记录:insert  into  表名  values(值1,值2,值3....),(值1,值2,值3....),(值1,值2,值3....);

3.删除数据insert

delete语句:用于删除表中指定的数据记录

语法:delete  from  表名  where  条件表达式

例:delete  from  t1  where  id=1;

4.更新数据insert

update语句:用于修改、更新表中的数据记录

语法:update  表名  set  字段名  1=字段值  1[,字段名  2=字段值  2]  where  条件表达式

例:update  t1  set  age=100  where  name="wangwu";

需要注意的是,在执行update、delete语句时,通常都带where条件,否则会修改或删除所有的记录,是非常危险的操作

5.查询数据INSERT

select语句:用于从指定的表中查找符合条件的数据记录

1.单表查询

语法:

select  字段1,字段2...   from  表名

                               where  条件

                                group  by  字段

                                having  筛选

                                order  by 字段

                                linit  限制条数

1.2关键字执行的优先级

from>where>group by>having>select>order by>limit

说明:

1.找到表:from

2.拿着where指定的约束条件,去文件/表中取出一条条记录

3.将取出的一条条记录进行分组group by,如果没有group by,则整体作为一组

4.将分组的结果进行having过滤

5.执行select

6.将结果按条件排序:order by

7.限制结果的显示条数:limit

1.3where条件

作用是通过指定条件从表中过滤出符合条件的记录,可应用于select、update、delete等语句,控制操作范围

where字句中可以使用:

1.比较运算符:>  <  >=  <=  <>  !=

2.between  80  and  100  值在10到20之间

3.in(80,90,100)值是10或20或30

4.like  'egon%'

     pattern 可以是%或_,

     %表示多字符

      _表示一个字符

5.逻辑运算符:在多个条件直接可以使用逻辑运算符and  or  not

例:

薪资大于10000的人姓名

select  name, salary  from  renyuan  where  salary  >  10000;

不是403办公室的人姓名

select  name,office  from  renyuan  where  office  !=403;

薪资在10000至15000之间的人姓名

select name,salary  from  renyuan  where  salary  between  10000  and  15000;

薪资是9000或10000或30000的人姓名

select  name,salary  from  renyuan  where  salary  in(9000,10000,30000);

名字以“程”开头的人的信息

select  *  from  renyuan  where  name  like  "程咬_";

select  *  from  renyuan  where  name  like  "程%";

薪资17000或者办公室是403的人

select  *  from  renyuan  where  office=403  or  salary=17000;

薪资17000并且办公室是403的人

select  *  from  renyuan  where  office=403  and  salary=17000;

薪资不是9000或10000或30000的人姓名

select  name,salary  from  renyuan  where  salary  not  in(9000,10000,30000);

1.4group by 分组

(1)分组

分组指的是:将所有记录按照某个相同的字段进行归类,比如针对员工信息表职位分组,或者按照性别进行分组

例:

select  *  from  renyuan  group  by  sex;              (以sex分组,查看除了sex以外的字段会报错)

select  sex  from  renyuan  group  by  sex;

但是只查看sex字段没有任何意义,因为需要的是组内信息,所以结合聚合函数查看

(2)聚合函数:count()  avg()  max()  min()  sum()

sount():计数

例:计算男生和女生的人数

命令:select sex,count(*)   from  renyuan  group  by  sex;

avg():平均数

例:每个岗位的平均薪资

命令:select  post,avg(salary)  from  renyuan  group  by  post;

max():最大值

例:每个岗位的最高薪资

命令:select  post,max(salary)  from  renyuan  group  by  post;

min():最小值

例:每个岗位的最高薪资

命令:select  post,min(salary)  from  renyuan  group  by  post;

sum():总和

例:每个岗位的薪资总和

命令:select  post,sum(salary)  from  renyuan  group  by  post;

1.5having过滤

having和where区别:

执行优先级从高到低:where>groupby>having

Where 发生在分组 group by 之前,因而 Where 中可以有任意字段,但是绝对不能使用聚合函数。
Having 发生在分组 group by之后,因而 Having 中可以使用分组的字段,无法直接取到其他字段,但可以使用聚合函数

例:有哪些岗位是平均工资大于 10000的

命令:select post,avg(salary) from renyuan group by post having avg(salary)>10000;

1.6order  by排序

使用 SELECT 语句可以将需要的数据从 MySQL 数据库中查询出来,如果对查询的结果进行排序,该如何去实现呢?可以使用0RDERBY 语句来完成排序,并最终将排序后的结果返回给用户
排序的关键字可以使用 ASC或者 DESC。ASC 是按照升序进行排序的,是默认的排序方式,即 ASC 可以省略。SELECT语句中如果没有指定具体的排序方式,则默认按 ASC 方式进行排序。DESC是按降序方式进行排列

命令:select  * from renyuan order by id asc;              (默认是正序asc可以忽略)

           select  *  from renyuan order by id desc;           (倒叙)

1.7limit限制结果条目

在使用 MySQL SELECT 语句进行查询时,结果集返回的是所有匹配的记录。有时候仅需要返回第一行或者前几行,这时候就需要用到LIMIT 子句

例:倒叙排列后仅显示第一行

命令:select * from renyuan order by id desc limit 1;

1.8正则匹配

MySQL 正则表达式通常是在检索数据库记录的时候,根据指定的匹配模式匹配记录中符合要求的特殊字符串。MySQL的正则表达式使用 REGEXP 这个关键字来指定正则表达式的匹配模式

例:Name 是1开头的姓名

命令:select * from renyuan where name regexp " ^1";

例:Name 是u结尾的姓名

命令:select * from renyuan where name regexp "u$";

例:Name 是 wan 和 wu 之间至少1个g的姓名

命令:select * from renyuan where name regexp "wangtwu";

相关文章:

2.MySQL数据库操作

一.MySQL数据库介绍 数据库目前标准指令集是SQL&#xff0c;即结构化查询语言。SQL语言主要由以下几部分组成 DDL&#xff08;数据定义语言&#xff09;&#xff1a;用来建立数据库、数据库对象和定义字段&#xff0c;如create、alter、drop。 DML&#xff08;数据操纵语言&…...

01.three官方示例+编辑器+AI快速学习webgl_animation_keyframes

实例&#xff1a;examples/webgl_animation_keyframes.html 在这里插入图片描述 重点关注&#xff1a; AnimationMixer&#xff1a;管理模型的所有动画AnimationClip&#xff1a;表示一个完整的动画ClipAction&#xff1a;控制动画的播放状态&#xff08;播放、暂停、速度等&am…...

在 Spring Boot 中实现动态线程池的全面指南

动态线程池是一种线程池管理方案&#xff0c;允许在运行时根据业务需求动态调整线程池参数&#xff08;如核心线程数、最大线程数、队列容量等&#xff09;&#xff0c;以优化资源利用率和系统性能。在 Spring Boot 中&#xff0c;动态线程池可以通过 Java 的 ThreadPoolExecut…...

餐饮行业新风口:上门厨师服务系统的技术实现路径

上门做饭正在成为下一个万亿级风口&#xff01;当外卖平台被预制菜攻陷&#xff0c;当年轻人对着料理包无可奈何&#xff0c;一个全新的餐饮模式正在悄然崛起。 我们的市场调研显示&#xff0c;83%的消费者无法分辨外卖是否使用预制菜&#xff0c;76%的年轻人愿意为透明烹饪过程…...

odoo-049 Pycharm 中 git stash 后有pyc 文件,如何删除pyc文件

文章目录 问题描述解决思路正确的去除 git 跟踪 pyc文件的做法 问题描述 查看本地 stash 列表 stash 后有很多 pyc 文件都被 git 追踪了&#xff0c;这样不合理&#xff0c;而且等 unstash 的时候就会有问题 解决思路 尝试方法&#xff1a; 递归地删除指定文件夹及其子目录中…...

线程同步机制

synchronized 实现线程同步的关键字&#xff0c;用来防止多个线程同时访问某个代码块或方法&#xff0c;避免并发冲突和数据不一致。通过持有一把唯一的对象锁&#xff0c;谁拿到了谁就能执行&#xff0c;谁没拿到只能等待锁释放。 1. 修饰实例方法&#xff08;锁当前实例&…...

YOLO目标检测算法

文章目录 前言一、目标检测算法简介1、传统目标检测算法&#xff08;1&#xff09;R-CNN算法简介&#xff08;2&#xff09;Fast R-CNN算法简介&#xff08;3&#xff09;Faster R-CNN算法简介 2、目标检测中的算法设计范式&#xff08;1&#xff09;one-stage&#xff08;2&am…...

【官方题解】StarryCoding 入门教育赛 2 | acm | 蓝桥杯 | 新手入门

比赛传送门&#xff1a; 本场比赛开始时题面存在一些问题&#xff0c;私密马赛&#xff01; A.池化【入门教育赛】 根据题目所给公式计算即可。 #include "bits/stdc.h"signed main() {int t; std::cin >> t;while (t --) {int l, k, s, p; std::cin >&…...

《让歌声跨越山海:Flutter借助Agora SDK实现高质量连麦合唱》

对于Flutter开发者而言&#xff0c;借助Agora SDK实现这一功能&#xff0c;不仅能为用户带来前所未有的社交体验&#xff0c;更是在激烈的市场竞争中脱颖而出的关键。 Agora SDK作为实时通信领域的佼佼者&#xff0c;拥有一系列令人瞩目的特性&#xff0c;使其成为实现高质量连…...

1.3.2 linux音频PulseAudio详细介绍

PulseAudio 是一个在 Linux 及其他类 Unix 操作系统中广泛使用的声音服务器&#xff08;Sound Server&#xff09;&#xff0c;它为不同的音频应用程序提供了一种中间层&#xff0c;以方便管理和控制音频流。下面将详细介绍 PulseAudio 的相关内容&#xff0c;包括其基本概念、…...

8.1.Kubernetes进阶

目录 一、Kubernetes核心原理深度解析 架构设计精髓 • 控制平面组件&#xff08;API Server、etcd、Controller Manager、Scheduler&#xff09;协作流程 • 数据平面&#xff08;kubelet、容器运行时、CNI/CSI插件&#xff09;核心工作机制 API对象与声明式模型 • CRD&…...

electron 结合 react(cra创建的) 创建桌面应用和打包桌面应用

我说一下 react 结合 electron 如果打包和使用&#xff0c;以及其中可能会遇到的问题&#xff0c;这里只做简单功能的演示 我们先通过 cra 创建一个 react 项目&#xff0c;然后安装相关依赖&#xff0c;之后启动 npx create-react-app react_electron cd react_electron np…...

C++23 views::chunk_by (P2443R1) 详解

文章目录 引言C23 范围库概述范围视图&#xff08;Range Views&#xff09;范围算法&#xff08;Range Algorithms&#xff09;范围适配器&#xff08;Range Adapters&#xff09; std::views::chunk_by 介绍基本概念特性使用场景 示例代码简单示例自定义谓词示例 总结 引言 在…...

MySQL核心内容【持续更新中】

MySQL核心内容 文章目录 MySQL核心内容1.MySQL核心内容目录2.MySQL知识面扩展3.MySQL安装4.MySQL配置目录介绍Mysql配置远程ip连接 5.MySQL基础1.MySQL数据类型1.数值类型2.字符串类型3.日期和时间类型4.enum和set 2.MySQL运算符1.算数运算符2.逻辑运算符3.比较运算符 3.MySQL完…...

【高级IO】多路转接之单线程Reactor

这里写目录标题 一.Epoll的两种工作模式二.单线程Reactor1.Connection模块2.Reactor服务器模块2.1初始化Init2.2启动循环服务器Loop2.3事件派发Dispatcher2.4连接管理器Accepter2.5事件管理器Receiver2.6发送管理器Sender 3.上层业务模块定制协议业务处理 代码 一.Epoll的两种工…...

基于设备指纹识别的反爬虫技术:给设备办 “身份证”

传统的封禁 IP、验证码等反爬虫手段已逐渐失效&#xff0c;基于设备指纹识别的反爬虫技术应运而生&#xff0c;成为守护数据安全的新防线。它如同给每个设备办一张独一无二的 “身份证”&#xff0c;精准区分正常用户与爬虫工具。 一、基础参数采集&#xff1a;构建设备指纹的…...

公开模型一切,优于DeepSeek-R1,英伟达开源Llama-Nemotron家族

在大模型飞速发展的今天&#xff0c;推理能力作为衡量模型智能的关键指标&#xff0c;更是各家 AI 企业竞相追逐的焦点。 但近年来&#xff0c;推理效率已成为模型部署和性能的关键限制因素。 基于此&#xff0c;英伟达推出了 Llama-Nemotron 系列模型&#xff08;基于 Meta …...

CI/CD面试题及答案

一、CI/CD 基础概念 1. 什么是 CI/CD&#xff1f;CI 和 CD 的区别是什么&#xff1f; 答案&#xff1a; CI&#xff08;持续集成&#xff09;&#xff1a;开发人员提交代码后&#xff0c;自动构建并运行测试&#xff0c;确保代码集成无冲突。CD&#xff08;持续交付 / 部署&am…...

解决 Ubuntu DNS 无法解析问题(适用于虚拟机 长期使用)

解决 Ubuntu DNS 无法解析问题 在使用 Ubuntu 虚拟机&#xff08;尤其是在国内&#xff09;时&#xff0c;经常会遇到这样的错误&#xff1a; Temporary failure resolving cn.archive.ubuntu.com但是此时又能成功 ping 通 IP&#xff0c;这说明网络是正常的&#xff0c;问题…...

如何通过C# 获取Excel单元格的数据类型

在处理 Excel 文件时&#xff0c;了解单元格的数据类型有助于我们正确地解析和处理数据。Free Spire.XLS 是一款功能强大且免费的.NET 组件&#xff0c;支持高效地操作 Excel 文件&#xff0c;包括读取单元格类型。本文将详细介绍如何使用 Free Spire.XLS 来获取 Excel 单元格的…...

Spring Boot初级教程:从零搭建企业级Java应用

一、Spring Boot是什么?为什么学它? 定义:Spring Boot是Spring框架的轻量级快速开发工具,基于“约定优于配置”原则,简化Spring应用的搭建与部署。核心优势: 零配置起步:内置Tomcat/Jetty,无需手动部署Web服务器。自动装配:自动扫描依赖、注入Bean,减少XML/注解冗余代…...

IBM BAW(原BPM升级版)使用教程第六讲

一、事件&#xff1a;Undercover Agent 在 IBM Business Automation Workflow (BAW) 中&#xff0c;Undercover Agent (UCA) 是一个非常独特和强大的概念&#xff0c;旨在实现跨流程或系统的事件处理和触发机制。Undercover Agent 主要用于 事件驱动的流程自动化&#xff0c;它…...

[250509] x-cmd 发布 v0.5.11 beta:x ping 优化、AI 模型新增支持和语言变量调整

目录 X-CMD 发布 v0.5.11 beta&#x1f4c3;Changelog&#x1f9e9; ping&#x1f9e9; openai&#x1f9e9; gemini&#x1f9e9; asdf&#x1f9e9; mac✅ 升级指南 X-CMD 发布 v0.5.11 beta &#x1f4c3;Changelog &#x1f9e9; ping 调整 x ping 默认参数为 bing.com&a…...

Web前端VSCode如何解决打开html页面中文乱码的问题(方法2)

Web前端—VSCode如何解决打开html页面中文乱码的问题&#xff08;方法2&#xff09; 1.打开VScode后&#xff0c;依次点击 文件 >> 首选项 >> 设置 2.打开设置后&#xff0c;依次点击 文本编辑器 >> 文件&#xff08;或在搜索框直接搜索“files.autoGuessEnc…...

打造专属AI好友:小智AI聊天机器人详解

打造专属AI好友&#xff1a;小智AI聊天机器人详解 在当下的科技热潮中&#xff0c;AI正迅速改变着我们的生活&#xff0c;成为了科技领域的新宠。而今&#xff0c;借助开源项目的力量&#xff0c;你可以亲手打造一个智能小助手——小智AI聊天机器人。它不仅是一个技术探索的窗…...

Spring,SpringMVC,SpringBoot,SpringCloud的区别

Spring Spring 是一个基础框架&#xff0c;为 Java 应用提供了 IoC&#xff08;控制反转&#xff09;和 AOP&#xff08;面向切面编程&#xff09;功能。其主要特点如下&#xff1a; IoC 容器&#xff1a;借助依赖注入&#xff0c;降低了组件间的耦合度。AOP 支持&#xff1a…...

从投入产出、效率、上手难易度等角度综合对比 pytest 和 unittest 框架

对于选择python作为测试脚本开发的同学来说&#xff0c;pytest和python unittest是必需了解的两个框架。那么他们有什么区别&#xff1f;我们该怎么选&#xff1f;让我们一起来了解一下吧&#xff01; 我们从投入产出、效率、上手难易度等角度综合对比 pytest 和 unittest 框架…...

无人机电池储存与操作指南

一、正确储存方式 1. 储存电量 保持电池在 40%-60% 电量&#xff08;单片电压约3.8V-3.85V&#xff09;存放&#xff0c;避免满电或空电长期储存。 满电存放会加速电解液分解&#xff0c;导致鼓包&#xff1b;**空电**存放可能引发过放&#xff08;电压低于3.0V/片会永久…...

CSS实现图片垂直居中方法

html <div class"footer border-top-row"><div class"footer-row"><span class"footer-row-col01">制单人&#xff1a;{{ printData[pageIndex - 1].rkMaster.makerName}}<img :src"getPersonSignImgSrc(printData[pa…...

多账号管理与自动化中的浏览器指纹对抗方案

多账号管理与自动化中的浏览器指纹对抗方案 在日常的开发工作中&#xff0c;如果你曾涉及自动化脚本、多账号运营、数据抓取&#xff0c;或是在安全研究方向摸爬滚打过&#xff0c;应该对“浏览器指纹识别”这几个字不会陌生。 指纹识别&#xff1a;不是你以为的那种“指纹”…...

[6-1] TIM定时中断 江协科技学习笔记(45个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 TRGO是“Trigger Output”的缩写&#xff0c;中文意思是“触发输出”。在STM32微控制器中&#xff0c;TRGO是一个非常重要的功能&#xff0c;它允许定时器&#xff08;Timer&#xff09;在特定事件发生时输出一个触发信号。这个触发信号可以用…...

Flutter 3.29.3 花屏问题记录

文章目录 Flutter 3.29.3 花屏问题记录问题记录解决尝试解决 Flutter 3.29.3 花屏问题记录 问题记录 flutter版本3.29.3&#xff0c;代码大致为&#xff1a; ShaderMask(shaderCallback: (Rect bounds) {return LinearGradient(begin: Alignment.topCenter,end: Alignment.bo…...

[Windows] 希捷(Seagate)硬盘官方检测工具 - SeaTools(1.4.0.7)

[Windows] 希捷&#xff08;Seagate&#xff09;硬盘官方检测工具 - SeaTools 链接&#xff1a;https://pan.xunlei.com/s/VOPpN9A3Tn_rVktEMu6Lg9q9A1?pwdh8rz# 希望能修复好硬盘...

YOLOv8目标检测性能优化:损失函数改进的深度剖析

文章目录 YOLOv8 简介损失函数在 YOLOv8 中的关键作用SlideLoss 的原理与应用原理代码实例 FocalLoss 分类损失函数的优化原理代码实例 SlideLoss 与 FocalLoss 在 YOLOv8 中的协同作用实验结果与分析 YOLOv8 简介 YOLO&#xff08;You Only Look Once&#xff09;系列目标检测…...

docker 日志暴露方案 (带权限 还 免费 版本)

接到了一个需求&#xff0c;需求的内容是需要将测试环境的容器暴露给我们的 外包同事&#xff0c;但是又不能将所有的容器都暴露给他们。 一开始&#xff0c;我分别找了 Portainer log-pilot dpanel 它们都拥有非常良好的界面和容器情况可视化。 但&#xff0c;缺点是&am…...

水印云:AI赋能,让图像处理变得简单高效

水印云是一款基于超强AI技术的图像处理工具&#xff0c;提供丰富的图像编辑功能&#xff0c;将复杂的图像处理极简化&#xff0c;真正实现简单高效的图像处理。无论是去除水印、智能抠图、添加水印&#xff0c;还是提升画质&#xff0c;水印云都能轻松应对&#xff0c;满足不同…...

使用 ECharts GL 实现交互式 3D 饼图:技术解析与实践

一、效果概览 本文基于 Vue 3 和 ECharts GL&#xff0c;实现了一个具有以下特性的 3D 饼图&#xff1a; 立体视觉效果&#xff1a;通过参数方程构建 3D 扇形与底座动态交互&#xff1a;支持点击选中&#xff08;位移效果&#xff09;和悬停高亮&#xff08;放大效果&#xff…...

allure生成测试报告(搭配Pytest、allure-pytest)

文章目录 前言allure简介allure安装软件下载安装配置环境变量安装成功验证 allure运行流程allure装饰器函数基本说明装饰器函数使用allure.attach 命令行运行利用allure-pytest生成中间结果json 查看测试报告总览页面每个tab页的说明类别页面测试套图表页面时间刻度功能页面包 …...

一场陟遐自迩的 SwiftUI + CoreData 性能优化之旅(下)

概述 自从 SwiftUI 诞生那天起&#xff0c;我们秃头码农们就仿佛打开了一个全新的撸码世界&#xff0c;再辅以 CoreData 框架的鼎力相助&#xff0c;打造一款持久存储支持的 App 就像探囊取物般的 Easy。 话虽如此&#xff0c;不过 CoreData 虽好&#xff0c;稍不留神也可能会…...

java的输入输出模板(ACM模式)

文章目录 1、前置准备2、普通输入输出API①、输入API②、输出API 3、快速输入输出API①、BufferedReader②、BufferedWriter 案例题目描述代码 面试有时候要acm模式&#xff0c;刷惯leetcode可能会手生不会acm模式&#xff0c;该文直接通过几个题来熟悉java的输入输出模板&…...

浏览器自动化与网络爬虫实战:工具对比与选型指南

浏览器自动化与网络爬虫实战&#xff1a;工具对比与选型指南 摘要 在当今数字化时代&#xff0c;浏览器自动化和网络爬虫技术已成为数据收集与测试的重要工具。本文深入剖析了多种主流浏览器自动化工具和爬虫框架的特点、优缺点及其适用场景&#xff0c;包括 Selenium、Puppe…...

“双非” “退伍” “材料” “学验证” 拿到Dream Offer

大家好&#xff0c;我是2024年路科验证V2X春季班的学员。在春季班的课上完后&#xff0c;觉得自己的基础大部分已经被路科给弥补了&#xff0c;但是很多课程中关于框架的搭建和一些细节还是不够扎实&#xff0c;有所欠缺&#xff0c;于是又重修了秋季班的课程。这两次课程给我的…...

python 上海新闻爬虫, 上观新闻 + 腾讯新闻

1. 起因&#xff0c; 目的: 继续爬上海新闻&#xff0c; 增加新闻来源。昨天写了&#xff1a; 东方网 澎湃新闻今天增加2个来源&#xff1a; 上观新闻 腾讯新闻此时有4个来源&#xff0c;我觉得已经差不多了。 2. 先看效果 3. 过程: 代码 1, 上观新闻 这里也有一个有趣的…...

【LUT技术专题】ECLUT代码解读

目录 原文概要 1. 训练 2. 转表 3. 测试 本文是对ECLUT技术的代码解读&#xff0c;原文解读请看ECLUT。 原文概要 ECLUT通过EC模块增大网络感受野&#xff0c;提升超分效果&#xff0c;实现SRLUT的改进&#xff0c;主要是2个创新点&#xff1a; 提出了一个扩展卷积&…...

Wsl2 网络模式介绍

每个模式说明参考下面连接 使用 WSL 访问网络应用程序 | Microsoft Learn...

项目高压生存指南:科学重构身体与认知系统的抗压算法

引言&#xff1a;压力重构的工程学思维 在项目管理的高压熔炉中&#xff0c;优秀从业者与普通执行者的核心差异不在于抗压能力的高低&#xff0c;而在于是否掌握压力管理的系统化算法。本文摒弃传统的鸡汤式减压建议&#xff0c;从人体工程学、神经科学和认知心理学角度&#…...

Java设计模式之工厂方法模式:从入门到精通

1. 工厂方法模式概述 1.1 定义与核心思想 工厂方法模式(Factory Method Pattern) **定义:**是一种创建型设计模式,它定义了一个用于创建对象的接口,但让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 **核心思想:**工厂模式的核心思想是将对象的创建…...

生成自定义的androidjar文件具体操作

在Androidsdk目录下的platform找到对应的api的android源码包路径&#xff0c;如android-32拷贝里面的android.jar文件到目录&#xff0c;如 C:\Users\xxxxxxx\Desktop\android\new_android_jar&#xff0c;然后解压android.jar到目录new_android_jar下。在编译后的aosp源码中找…...

在一台CentOS服务器上开启多个MySQL服务

1. 创建目录 mkdir -p /data/mysql3307/{data,tmp,logs} # 赋权 chown -R mysql:mysql /data/mysql3307 chmod -R 750 /data/mysql3307 2.修改 /etc/my.cnf &#xff0c;添加[mysqld3307]实例配置组 [mysqld3307] # MySQL服务的端口 port 3307 # 套接字文件存放路径 socket /…...

相机的方向和位置

如何更好的控制相机按照我们需要来更好的观察我们需要的地貌呢? 使用 // setview瞬间到达指定位置,视角//生成position是天安门的位置var position Cesium.Cartesian3.fromDegrees(116.397428,39.90923,100)viewer.camera.setView({//指定相机位置destination: position, 在…...