MySQL:表的增删查改
目录
一. Create
1.1 单行数据+全列插入
1.2 多行数据+全列插入
1.3 插入否则更新
1.3.1 要插入的值与原数据有冲突则更新
1.3.2 要插入的值与原数据没有冲突则正常插入
1.3.3 要插入的值与原数据有冲突但是连续更新了两次
1.4 替换
二. Retrieve
2.1 select 列
2.1.1 全列查询
2.1.2 指定列查询
2.1.3 查询表达式
2.1.4 查询结果重命名
2.1.5 对查询结果去重
2.2 where条件
2.3 结果排序
2.4 筛选分页结果
三. Update
四. Delete
4.1 删除数据
4.2 截断表
五. 插入查询结果
六. 聚合函数
七. group by子句的使用
一. Create
语法:
INSERT [INTO] table_name [(column [, column] ...)] VALUES (value_list) [, (value_list)] ...value_list: value, [, value] ...
1.1 单行数据+全列插入
单行指定列插入:
单行全列插入:
into也可以省略:
1.2 多行数据+全列插入
多行全列插入:
多行指定列插入:
1.3 插入否则更新
我们知道,如果发生主键或者唯一键冲突的时候,会报错。但是如果就是想要修改原来的数据呢?可以选择性的进行同步更新操作语法。
语法:
INSERT ... ON DUPLICATE KEY UPDATE column = value [, column = value] ...
1.3.1 要插入的值与原数据有冲突则更新
而对于 x rows affected有下面的解释:
- -- 0 row affected: 表中有冲突数据,但冲突数据的值和 update 的值相等
- -- 1 row affected: 表中没有冲突数据,数据被插入
- -- 2 row affected: 表中有冲突数据,并且数据已经被更新
通过 MySQL 函数获取受到影响的数据行数:
SELECT ROW_COUNT();
+-------------+
| ROW_COUNT() |
+-------------+
| 2 |
+-------------+
1.3.2 要插入的值与原数据没有冲突则正常插入
如果要插入的值在原数据中并没有,则相当于正常插入语句。
1.3.3 要插入的值与原数据有冲突但是连续更新了两次
如果我们想更新原数据,但是连着运行了两次命令,则第一次正常修改,第二次并不会改变什么。
1.4 替换
-- 主键 或者 唯一键 没有冲突,则直接插入;
-- 主键 或者 唯一键 如果冲突,则删除后再插入REPLACE INTO students (sn, name) VALUES (20001, '曹阿瞒');
Query OK, 2 rows affected (0.00 sec)-- 1 row affected: 表中没有冲突数据,数据被插入
-- 2 row affected: 表中有冲突数据,删除后重新插入
并且可以看到id是变了的。
二. Retrieve
语法:
SELECT [DISTINCT] {* | {column [, column] ...} [FROM table_name] [WHERE ...] [ORDER BY column [ASC | DESC], ...] LIMIT ...
2.1 select 列
2.1.1 全列查询
//通常情况下不建议使用*进行全列查询
//1.查询的列越多,意味着需要传输的数据量越大
//2.可能会影响索引的使用
2.1.2 指定列查询
指定列的查询不需要按定义表的顺序来。
2.1.3 查询表达式
select后面也可以接表达式。
2.1.4 查询结果重命名
语法:
SELECT column [AS] alias_name [...] FROM table_name;
也可以省略as:
2.1.5 对查询结果去重
使用关键字distinct去重:
2.2 where条件
比较运算符:
运算符 | 说明 |
>,>=, | 大于,大于等于,小于,小于等于 |
= | 等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL |
<=> | 等于,NULL 安全,例如 NULL NULL 的结果是 TRUE(1) |
!=,<> | 不等于 |
BETWEEN a0 AND a1 | 范围匹配,[a0, a1],如果 a0 |
IN (option, ...) | 如果是 option 中的任意一个,返回 TRUE(1) |
IS NULL | 是 NULL |
IS NOT NULL | 不是 NULL |
LIKE | 模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字符 |
逻辑运算符:
运算符 | 说明 |
AND | 多个条件必须都为 TRUE(1),结果才是 TRUE(1) |
OR | 任意一个条件为 TRUE(1), 结果为 TRUE(1) |
NOT | 条件为 TRUE(1),结果为 FALSE(0) |
- 例子一:英语不及格的同学及英语成绩 ( < 60 )
- 例子二:语文成绩在 [80, 90] 分的同学及语文成绩
- 例子三:数学成绩是 58 或者 59 或者 98 或者 99 分的同学及数学成绩
- 例子四:姓孙的同学 及 孙某同学
- 例子五:语文成绩好于英语成绩的同学
- 例子六:总分在 200 分以下的同学
而对于下面这种报错:
涉及到执行顺序的问题:
上面语句是按照ABC的顺序执行,所以在执行B的时候还没有total的定义,所以显示unknown。
并且不能再筛选条件处做重命名:
- 例子七:语文成绩 > 80 并且不姓孙的同学
- 例子八:综合查询:孙某同学,否则要求总成绩 > 200 并且 语文成绩 < 数学成绩 并且 英语成绩 > 80
- 例子九:查询NULL
''不等于NULL
2.3 结果排序
语法:
-- ASC 为升序(从小到大)
-- DESC 为降序(从大到小)
-- 默认为 ASC SELECT ... FROM table_name [WHERE ...] ORDER BY column [ASC|DESC], [...];
注意:没有 ORDER BY 子句的查询,返回的顺序是未定义的,永远不要依赖这个顺序。
- 例子一:同学及数学成绩,按数学成绩升序显示
默认是升序的。
- 例子二:同学及 qq 号,按 qq 号排序显示
如果有NULL,则NULL视作比任何值都小,升序出现在最上面,降序出现在最下面。
- 例子三:查询同学各门成绩,依次按 数学降序,英语升序,语文升序的方式显示(先按数学,数学相同按英语,英语再相同按语文)
- 例子四:查询同学及总分,由高到低
order by中可以使用表达式。
order by中可以使用列别名,这是区别于where的地方。
因为:
- 例子五:查询姓孙的同学或者姓曹的同学数学成绩,结果按数学成绩由高到低显示
2.4 筛选分页结果
语法:
-- 起始下标为 0 -- 从 0 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n;-- 从 s 开始,筛选 n 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT s, n; -- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT n OFFSET s;
- 从0开始,筛选3条结果(不包括0):
- 从1开始,筛选4条结果(不包括1):
- 从2开始,筛选4条结果(这种更规范):
建议:对未知表进行查询时,最好加一条 LIMIT 1,避免因为表中数据过大,查询全表数据导致数据库卡死。
那么limit有什么用呢?可以进行简单的分页操作。
例如:按id进行分页,每页3条记录,分别显示第1、2、3页。
第一页:
第二页:
第三页:
那么我们再来看看子语句的顺序:
三. Update
语法:
UPDATE table_name SET column = expr [, column = expr ...] [WHERE ...] [ORDER BY ...] [LIMIT ...]
对查询到的结果进行列值更新。意思就是先进行查询,再进行列值更新。
- 例子一:将孙悟空同学的数学成绩变更为 80 分
- 例子二:将曹孟德同学的数学成绩变更为 60 分,语文成绩变更为 70 分
- 例子三:将总成绩倒数前三的 3 位同学的数学成绩加上 30 分
- 例子四:将所有同学的语文成绩更新为原来的 2 倍
注意:更新全表的语句慎用!!!
四. Delete
4.1 删除数据
语法:
DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]
- 例子一:删除孙悟空同学的考试成绩
也可以接order by,例如删除排名最后的一名:
- 例子二:删除整张表数据
注意:删除整表操作要慎用!!!
并且MySQL中,表分为表本身和表中的数据。删除整张表删除的是表中的数据,并不影响表结构,修改表结构用alter。
delete整张表并不会清空自增序列的值。
4.2 截断表
语法:
TRUNCATE [TABLE] table_name
注意:这个操作慎用
- 1. 只能对整表操作,不能像 DELETE 一样针对部分数据操作;
- 2. 实际上 MySQL 不对数据操作,所以比 DELETE 更快,但是TRUNCATE在删除数据的时候,并不经过真正的事物,所以无法回滚
- 3. 会重置 AUTO_INCREMENT 项
例子:
五. 插入查询结果
语法:
INSERT INTO table_name [(column [, column ...])] SELECT ...
例子:删除表中的的重复复记录,重复的数据只能有一份
六. 聚合函数
函数 | 说明 |
COUNT([DISTINCT] expr) | 返回查询到的数据的 数量 |
SUM([DISTINCT] expr) | 返回查询到的数据的 总和,不是数字没有意义 |
AVG([DISTINCT] expr) | 返回查询到的数据的 平均值,不是数字没有意义 |
MAX([DISTINCT] expr) | 返回查询到的数据的 最大值,不是数字没有意义 |
MIN([DISTINCT] expr) | 返回查询到的数据的 最小值,不是数字没有意义 |
- 例子一:统计班级共有多少同学
- 例子二:统计班级收集的qq号有多少
- 例子三:统计本次考试的数学成绩分数个数
- 例子四:统计数学成绩总分
- 例子五:统计平均总分
- 例子六:返回英语最高分
- 例子七:返回>70分以上的数学最低分
七. group by子句的使用
在select中使用group by 子句可以对指定列进行分组查询:
select column1, column2, .. from table group by column;
分组的目的是为了进行分组之后,方便进行聚合统计。
例子:
创建库的文件,在文章开头的资源中给出,下载scott_data即可:
下载后,上传到Linux平台,然后登陆数据库。
- 创建新的数据库
create database 数据库名;
- 使用新的数据库
use 数据库名;
将刚才上传到服务器的sql文件导入(我服务器中sql文件路径是root/scott_data.sql)
source /root/scott_data.sql
emp员工表:
dept部门表:
salgrade工资等级表:
- 例子一:显示每个部门的平均工资和最高工资
- 例子二:显示每个部门的每种岗位的平均工资和最低工资
- 例子三:显示平均工资低于2000的部门和它的平均工资
having经常和group by搭配使用,作用是对分组进行筛选,作用有些像where。
但是having与where是有区别的,不建议混用:
不要单纯的认为,只有磁盘上的表结构导入到mysql,真实存在的表,才叫做表。
中间筛选出来的,包括最终结果,在我看来,全部都是逻辑上的表!“MySQL一切皆表”。
未来只要我们处理好单表的CURD,所有的sql场景,我们全部都能用统一的方式进行。
总结:
好了,到这里今天的知识就讲完了,大家有错误一点要在评论指出,我怕我一人搁这瞎bb,没人告诉我错误就寄了。
祝大家越来越好,不用关注我(疯狂暗示)
相关文章:
MySQL:表的增删查改
目录 一. Create 1.1 单行数据全列插入 1.2 多行数据全列插入 1.3 插入否则更新 1.3.1 要插入的值与原数据有冲突则更新 1.3.2 要插入的值与原数据没有冲突则正常插入 1.3.3 要插入的值与原数据有冲突但是连续更新了两次 1.4 替换 二. Retrieve 2.…...
Python操作neo4j库py2neo使用之创建和查询(二)
Python操作neo4j库py2neo使用之创建和查询(二) py2neo 创建操作 1、连接数据库 from py2neo import Graph graph Graph("bolt://100.100.20.55:7687", auth(user, pwd), nameneo4j)2、创建Node from py2neo import Node, Subgraph # 创建…...
【pytorch-04】:线性回归案例(手动构建)
文章目录 1 构建数据集2 构建假设函数3 损失函数4 优化方法5 训练函数6.总结 1 构建数据集 为什么构建数据加载器? 在进行训练的时候都是采用的不是全部的数据,而是采用一个batch_size的数据进行训练,每次向模型当中送入batch_size数据&#…...
外包干了3年,技术退步明显...
先说情况,大专毕业,18年通过校招进入湖南某软件公司,干了接近6年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能…...
React Native 全栈开发实战班 -原生功能集成之相机与图片
在移动应用中,相机功能 和 图片选择 是非常常见的需求,用户可以通过相机拍照或从相册中选择图片。React Native 提供了多种方式来实现相机和图片选择功能,包括使用第三方库(如 react-native-image-picker)和调用原生模…...
以太坊交易处理全流程:数据采集、价格查询与问题解决
一、背景 在开发交易记录处理系统时,涉及从以太坊链上获取交易记录、将其存储到数据库、根据交易时间查询历史价格,并计算交易的美元价值。在这一过程中,涉及多个技术环节及工具的综合使用,例如区块链 API 调用、数据库操作、时间戳处理和外部数据接口整合。 本文涉及的内…...
css数据不固定情况下,循环加不同背景颜色
<template><div><p v-for"(item, index) in items" :key"index" :class"getBackgroundClass(index)">{{ item }}</p></div> </template><script> export default {data() {return {items: [学不会1, …...
【Node.js】Node.js 和浏览器之间的差异
Node.js 是一个强大的运行时环境,它在现代 JavaScript 开发中扮演着重要角色。然而,许多开发者在使用 Node.js 时常常会感到困惑,尤其是与浏览器环境的对比。本文将深入探讨 Node.js 和浏览器之间的差异,帮助你全面理解两者的设计…...
算法【最长递增子序列问题与扩展】
本文讲解最长递增子序列以及最长不下降子序列的最优解,以及一些扩展题目。本文中讲述的是最优解,时间复杂度是O(n*logn),空间复杂度O(n),好实现、理解难度不大。这个问题也可以用线段树来求解,时间和空间复杂度和本节讲…...
【论文速读】| RobustKV:通过键值对驱逐防御大语言模型免受越狱攻击
基本信息 原文标题:ROBUSTKV: DEFENDING LARGE LANGUAGE MODELS AGAINST JAILBREAK ATTACKS VIA KV EVICTION 原文作者:Tanqiu Jiang, Zian Wang, Jiacheng Liang, Changjiang Li, Yuhui Wang, Ting Wang 作者单位:Stony Brook University…...
查询Mysql中被锁住的表以及如何解锁
当MySQL中的表被锁住时,可能会导致查询变慢或完全无法访问该表。处理这种情况的方法取决于锁的原因以及你想要达到的目标。以下是一些常见的步骤和技巧,可以帮助你解决被锁住的表的问题: 1. 识别锁的情况 首先,你需要确定哪些表…...
【Mac】未能完成该操作 Unable to locate a Java Runtime
重生之我做完产品经理之后回来学习Data Mining Mac打开weka.jar报错"未能完成该操作 Unable to locate a Java Runtime" 1. 打开终端执行 java -version 指令,原来是没安装 JDK 环境 yyzccnn-mac ~ % java -version The operation couldn’t be comple…...
RT_Thread内核源码分析(三)——线程
目录 1. 线程结构 2. 线程创建 2.1 静态线程创建 2.2 动态线程创建 2.3 源码分析 2.4 线程内存结构 3. 线程状态 3.1 线程状态分类 3.2 就绪状态和运行态 3.3 阻塞/挂起状态 3.3.1 阻塞工况 3.4 关闭状态 3.4.1 线程关闭接口 3.4.2 静态线程关闭 3.4.3 动态线程关…...
淘宝 NPM 镜像源
npm i vant/weapp -S --production npm config set registry https://registry.npmmirror.com 要在淘宝 NPM 镜像站下载项目或依赖,你可以按照以下步骤操作: 1. 设置淘宝 NPM 镜像源 首先,你需要设置淘宝 NPM 镜像源以加速下载。可以通过…...
机器学习—学习曲线
学习曲线是帮助理解学习算法如何工作的一种方法,作为它所拥有的经验的函数。 绘制一个符合二阶模型的学习曲线,多项式或二次函数,画出交叉验证错误Jcv,以及Jtrain训练错误,所以在这个曲线中,横轴将是Mtrai…...
Rust 智能指针
Rust 智能指针 引言 Rust 是一种系统编程语言,以其内存安全性、并发性和高性能而闻名。Rust 的核心特性之一是其独特的所有权模型,它确保了内存安全,同时避免了垃圾收集。在 Rust 中,智能指针是一种特殊的数据结构,它们不仅存储数据,还负责管理数据的生命周期。智能指针…...
云原生周刊:Kubernetes v1.32 要来了
开源项目推荐 Woodpecker Woodpecker 是一款轻量级且功能强大的 CI/CD 引擎,以其高度可扩展性和易用性著称。它支持多种版本控制系统与编程语言,能够灵活适配不同开发流程,帮助团队实现高效的持续集成与交付。无论是个人项目还是大型团队&a…...
Easyexcel(3-文件导出)
相关文章链接 Easyexcel(1-注解使用)Easyexcel(2-文件读取)Easyexcel(3-文件导出) 响应头设置 通过设置文件导出的响应头,可以自定义文件导出的名字信息等 //编码格式为UTF-8 response.setC…...
php:使用socket函数创建WebSocket服务
一、前言 闲来无事,最近捣鼓了下websocket,但是不希望安装第三方类库,所以打算用socket基础函数创建个服务。 二、构建websocket服务端 <?phpclass SocketService {// 默认的监听地址和端口private $address 0.0.0.0;private $port 8…...
ubuntu20.04中编译安装gcc 9.2.0
ubuntu20.04中编译安装gcc 9.2.0,步骤如下: #install compile dependence libraries 1:$ sudo apt install libgmp-dev libisl-dev libmpc-dev libmpfr-dev # install gcc 9.2.0 # download source code 2:$ wget http://ftp.gnu.org/gn…...
ssm158企业人事管理系统的设计与实现+jsp(论文+源码)_kaic
设计题目:企业人事管理系统的设计与实现 摘 要 进入信息时代以来,很多数据都需要配套软件协助处理,这样可以解决传统方式带来的管理困扰。比如耗时长,成本高,维护数据困难,数据易丢失等缺点。本次使用数据…...
OceanBase数据库产品与工具介绍
OceanBase:蚂蚁集团自主研发的分布式关系数据库 1、什么是 OceanBase? OceanBase 是由蚂蚁集团完全自主研发的企业级分布式关系数据库,始创于 2010 年。它具有以下核心特点: 数据强一致性:在分布式架构下确保数据强…...
PakePlus将任何网页免费打包为mac/windows跨平台软件程序教程,只需要一个Github token就可以了
PakePlus是一个开源免费的软件,支持 Mac、Windows 和 Linux,很快也将支持 Android 和 iOS。无需在本地安装复杂的依赖环境,只需要一个Github Token就可以了。查看 README 以获取热门包和自定义开发信息。欢迎在讨论区分享你的建议。开源地址&…...
Element UI 组件库详解【Vue】
文章目录 一、引言二、安装并使用1. 安装2. 使用 三、常见组件说明1. 基础组件2. 布局组件3. 布局容器4. 选择框组件5. 输入框组件6. 下拉框组件7. 日期选择器8. 上传组件9. 表单组件10. 警告组件11. 提示组件12. 表格组件 一、引言 官方网站,element.eleme.cn El…...
Android kotlin之配置kapt编译器插件
配置项目目录下的gradle/libs.versions.toml文件,添加kapt配置项: 在模块目录下build.gradle.kt中增加 plugins {alias(libs.plugins.android.application)alias(libs.plugins.jetbrains.kotlin.android)// 增加该行alias(libs.plugins.jetbrains.kotl…...
基于 MUSA 的大语言模型推理和服务框架vLLM
1. 引言 vLLM是一个高性能且内存高效的大语言模型推理和服务框架,也是当前业界使用范围最广的大模型推理框架,截至目前github star数28.4k。该框架性能优秀,而且部署容易,使用CUDA/ROCm提供GPU加速能力。但vLLM目前不支持使用摩…...
k8s 集群安装
安装rockylinux https://www.jianshu.com/p/a5fe20318b8e https://www.cnblogs.com/haoee/p/18290506 配置VirtualBox双网卡 https://www.cnblogs.com/ShineLeBlog/p/17580311.html https://zhuanlan.zhihu.com/p/341328334 https://blog.csdn.net/qq_36544785/article/deta…...
Linux-服务器辨别实体机OR虚拟机
快速命令 ① lscpu(查看CPU信息) lscpu Hypervisor vendor: KVM (超管理器厂商:KVM。虚拟机:KVM / VMware) Virtualization: VT-x(虚拟化:VT-x。实体机:VT-x / AMD-V) ② systemd-detect-virt(检测当前系…...
堤防安全监测系统方案
一、背景情况 堤防是开发利用水资源和防治水灾害的重要工程措施之一,对防洪、供水、生态、发电、航运等至关重要。我国现有堤防9.8万多座,其中大中型堤防4700多座、小型堤防9.4万座,80%以上修建于上世纪50至70年代。由于堤防管护力量薄弱&am…...
Leetcode 求根节点到叶节点数字之和
使用深度优先搜索 DFS 来做 我提供的代码使用的是 深度优先搜索(DFS,Depth-First Search) 算法。以下是具体的算法思想和实现步骤的解释: 算法思想 树的路径代表数字: 树中每条从根节点到叶子节点的路径可以看作一个整…...
Git分布式版本控制系统
1. 版本控制系统 版本控制系统主要分为两类:集中式、分布式。 集中式:SVM(工作流程:所有的文件都保存在中央服务器上,每个电脑上只保存了一个副本,当需要修改时,先下载中央服务器上的最新版本文件…...
数据库审计工具--Yearning 3.1.9普民的使用指南
1 页面登录 登录地址:18000 (不要勾选LDAP) 2 修改用户密码 3 DML/DDL工单申请及审批 工单申请 根据需要选择【DML/DDL/查询】中的一种进行工单申请 填写工单信息提交SQL检测报错修改sql语句重新进行SQL检测,如检测失败可以进行SQL美化后…...
VMware Workstation 17.6.1
概述 目前 VMware Workstation Pro 发布了最新版 v17.6.1: 本月11号官宣:针对所有人免费提供,包括商业、教育和个人用户。 使用说明 软件安装 获取安装包后,双击默认安装即可: 一路单击下一步按钮: 等待…...
unity 中 RectTransform 的常用几个属性
RectTransform rectTransform this.GetComponent<RectTransform>(); rectTransform this.transform as RectTransform; Vector3 vector1 rectTransform.position; //自身轴心点相对于锚点的位置(编译器显示的pos) …...
23种设计模式-模板方法(Template Method)设计模式
文章目录 一.什么是模板方法模式?二.模板方法模式的特点三.模板方法模式的结构四.模板方法模式的应用场景五.模板方法模式的优缺点六.模板方法模式的C实现七.模板方法模式的JAVA实现八.代码解析九.总结 类图: 模板方法设计模式类图 一.什么是模板方法模…...
网络安全之国际主流网络安全架构模型
目前,国际主流的网络安全架构模型主要有: ● 信息技术咨询公司Gartner的ASA(Adaptive Security Architecture自适应安全架构) ● 美国政府资助的非营利研究机构MITRE的ATT&CK(Adversarial Tactics Techniques &…...
SpringCloud多机部署,负载均衡-LoadBalance
一.负载均衡 1.1问题描述 //根据应用名称获取服务列表 List<ServiceInstance> instancesdiscoveryClient.getInstances("product-service"); //一个微服务可能有多个实例,获取第一个 EurekaServiceInstance instance(EurekaServiceInstance)insta…...
前端开发调试之 PC 端调试学习笔记
一、引言 在前端开发过程中,调试是至关重要的一个环节。它能帮助我们快速定位代码中的问题,无论是页面布局错乱、交互效果异常还是性能不佳等情况,通过有效的调试手段都可以找到根源并进行修复。而在 PC 端进行调试有着其特定的方法和技巧&am…...
视频流媒体播放器EasyPlayer.js无插件直播流媒体音视频播放器Android端webview全屏调用无效问题
流媒体播放器的核心技术与发展趋势正在不断推动着行业的变革。未来,随着技术的不断进步和应用场景的不断拓展,流媒体播放器将为用户带来更加便捷、高效、个性化的观看体验。同时,流媒体播放器也会成为数字娱乐产业的重要组成部分,…...
使用 cnpm 安装 Electron,才是正确快速的方法
当然,下面是总结的几种安装 Electron 的方法,包括使用 npm 和 cnpm,以及一些常见的问题解决技巧。 ### 1. 使用 npm 安装 Electron #### 步骤 1: 初始化项目 在你的项目目录中初始化一个新的 Node.js 项目: bash npm init -y …...
pytest日志总结
pytest日志分为两类: 一、终端(控制台)打印的日志 1、指定-s,脚本中print打印出的信息会显示在终端; 2、pytest打印的summary信息,这部分是pytest 的默认输出(例如测试结果PASSED, FAILED, S…...
【Ubuntu24.04】使用服务器
目录 0 背景1 将文件传送到服务器1.1 主机上的虚拟机1.2 另一台独立的计算机(包括上面的虚拟机)1.3 远程文件传输1.3.1 scp2 操作服务器2.1 ssh2.2 Termius2.2.1 下载2.2.2 安装2.2.3 使用2.2.4 小结3 总结0 背景 你是一个开发者,有自己的测试环境:一个Linux服务器(假设是…...
Spark 之 Aggregate
Aggregate 参考链接: https://github.com/PZXWHU/SparkSQL-Kernel-Profiling 完整的聚合查询的关键字包括 group by、 cube、 grouping sets 和 rollup 4 种 。 分组语句 group by 后面可以是一个或多个分组表达式( groupingExpressions )…...
ubuntu没有了有线网络如何修复
今天打开ubuntu之后发现有线网络连接没有了,如下图,此时是修复好之后的,“有线”部分存在,出现问题时是不存在的 此时只需要修改NetworkManager.conf配置文件,将managedfalse更改为managedtrue,保存退出就可以了 sudo…...
2411rust,异步函数
原文 Rust异步工作组很高兴地宣布,在实现在特征中使用异步 fn的目标方面取得了重大进度.将在下周发布稳定的Rust1.75版,会包括特征中支持impl Trait注解和async fn. 稳定化 自从RFC#1522在Rust1.26中稳定下来以来,Rust就允许用户按函数的返回类型(一般叫"RPIT")编…...
解决IDEA报包不存在,但实际存在的问题
前言 最近在把一个亿老项目交割给同事,同事在导入项目运行时遇到IDEA报包不存在,但实际存在的问题,最终通过以下方式解决 现象 在IDEA里启动运行项目,报某个类有问题,引入的包不存在。 点击这个引入的包,可…...
解决Ubuntu18.04及以上版本高分辨率下导致字体过小问题
解决Ubuntu18.04及以上版本高分辨率下导致字体过小问题 Chapter1 解决Ubuntu18.04及以上版本高分辨率下导致字体过小问题Chapter2 windows主机和ubuntu互传文件的4种方法 博文链接:Chapter3 安装好VMware tools后无法复制粘贴文本、拖拽文件的解决办法 Chapter1 解…...
SpringBoot与MongoDB深度整合及应用案例
SpringBoot与MongoDB深度整合及应用案例 在当今快速发展的软件开发领域,NoSQL数据库因其灵活性和可扩展性而变得越来越流行。MongoDB,作为一款领先的NoSQL数据库,以其文档导向的存储模型和强大的查询能力脱颖而出。本文将为您提供一个全方位…...
计算机网络(12)介质访问控制
ok通过前面的学习我们已经知道数据链路层提供的服务有帧封装,物理地址,流量控制,错误控制,访问控制。今天就来记录最后的访问控制。 介质访问控制 (MAC)详解 介质访问控制(Media Access Control,简称 MAC&…...
Axios 响应拦截器与未登录状态的统一处理
目录 前言1. 响应拦截器的作用与应用场景1.1 什么是响应拦截器?1.2 响应拦截器的应用场景 2. 代码解读:响应拦截器中的未登录处理2.1 原始代码分析 3. 完善未登录处理逻辑3.1 未登录状态的用户体验优化3.2 改进后的代码实现 4. 实践中的场景4.1 登录态的…...