【MYSQL中级篇】数据库数据查询学习
🍁博主简介
🏅云计算领域优质创作者
🏅华为云开发者社区专家博主
🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
相关文章
文章名 | 文章地址 |
---|---|
【MYSQL初级篇】入门学习【增删改查-库表数据】 | https://liucy.blog.csdn.net/article/details/128396592 |
【MYSQL中级篇】数据库数据查询学习 | https://liucy.blog.csdn.net/article/details/128717294 |
MYSQL中级篇学习目录
- 相关文章
- 前言
- 排序查询
- 分组查询
- 去重查询
- 聚合函数
- 比较运算符查询
- 逻辑运算符查询
- 模糊查询
- 范围查询
- 空判断查询
- 多表联查
- 两表联查内连接
- 两表联查左连接
- 两表联查右连接
- 全连接: union或union all
前言
没有安装mysql的,大家可参考【 Centos7安装Mysql5.7(超详细版)】、【【云原生】Docker之创建并进入mysql容器】 两种方式任选其一来安装;
SQL语句
- DDL 数据定义语言 create drop alter
- DML 数据操纵语言 update delete insert
- DQL 数据查询语言 select
- DCL 数据控制语言 grant revoke
排序查询
- desc 降序
- asc 升序
- limit 1 取第一行
mysql order by排序默认为升序(从小到大)
#排序;默认为升序
select * from 表名 order by id;(根据id排序)#取行数
select * from 表名 limit 偏移量,行数;
#根据score排序,默认为升序
select * from student order by score;#根据id排序,升序(从小到大)
select * from student order by id asc;#根据score排序,降序(从大到小)
select * from student order by score desc;#偏移量为2,取5行;(取第3行到第7行)
select * from student limit 2,5;
分组查询
select * from 表名 group by 字段;
#按分数打包分组(打包相同的分数)
select * from student group by score;
如遇到以下报错,可了解 https://blog.csdn.net/weixin_44013783/article/details/119422353、https://blog.csdn.net/W_317/article/details/116723943
去重查询
select distinct 字段 from 表名;
#去除相同的分数
select distinct score from student;
select distinct score as '分数' from student;
聚合函数
- max() 最大值
select max(字段) from 表名;
#查找最高的分数,显示姓名和分数
select name as '姓名',max(score) as '分数' from student;+----+-------+
| 姓名 | 分数 |
+----+-------+
| 老六 | 125 |
+----+-------+
- min() 最小值
select min(字段) from 表名;
#查找最底的分数,显示姓名、性别、年龄、分数;
select name as '姓名',sex as '性别',age as '年龄',min(score) as '分数' from student;+-----+----+-----+-------+
| 姓名 | 性别 | 年龄 | 分数 |
+-----+----+-----+-------+
| 王五 | 男 | 15 | 100 |
+-----+----+-----+-------+
- sum() 和
select sum(字段) from 表名;
#查询班级的总分
select sum(score) as '班级总分' from student;+---------+
| 班级总分 |
+---------+
| 1546 |
+---------+
- count() 统计
select count(字段) from 表名;
#统计班级有多少个人
select count(*) as '班级总人数' from student;+----------+
| 班级总人数 |
+----------+
| 13 |
+----------+
- avg() 平均数
select avg(字段) from 表名;
#计算班级总分的平均分
select avg(score) as '班级平均分' from student;+----------+
| 班级平均分 |
+----------+
| 118.9231 |
+----------+
综合:
#统计班级的总人数、总分及平均分
select count(*) as '班级总人数',sum(score) as '班级总分',avg(score) as '班级平均分' from student;+---------+----------+----------+
| 班级总人数 | 班级总分 | 班级平均分 |
+---------+----------+----------+
| 13 | 1546 | 118.9231 |
+---------+----------+----------+
- with rollup 对聚合结果进行汇总
使用 with rollup,此函数是对聚合函数进行求和,注意 with rollup是对 group by 后的第一个字段,进行分组求和。
#按分数分组,并计算出各组人数、总分、平均分,在做全部统计
select count(*),sum(score),avg(score) from student group by score with rollup;
select count(*) as '各组人数',sum(score) as '各组总分',avg(score) as '各组平均分' from student group by score with rollup;+---------+---------+----------+
| 各组人数 | 各组总分 | 各组平均分 |
+---------+---------+----------+
| 2 | 246 | 123.0000 |
| 3 | 360 | 120.0000 |
| 2 | 242 | 121.0000 |
| 2 | 200 | 100.0000 |
| 2 | 248 | 124.0000 |
| 2 | 250 | 125.0000 |
| 13 | 1546 | 118.9231 |
+---------+---------+----------+
- having 对于聚合后的结果进行过滤,如果逻辑允许,多用where
#查询分数小于120的人
select * from student having score<120;
- where 用于聚合前,having用于聚合后。
#查询性别为女的人
select * from student where sex='女';
比较运算符查询
- 等于: =
#查询性别是男的学生
select * from student where sex='男';
- 大于: >
#查询年龄大于15的学生
select * from student where age>15;
- 大于等于: >=
#查询年龄大于等于15的学生
select * from student where age>=15;
- 小于: <
#查询分数小于122的学生
select * from student where score<122;
- 小于等于: <=
#查询分数小于等于122的学生
select * from student where score<=122;
- 不等于: != 或 <>
#查询学生性别不是男生的
select * from student where sex!='男';
#查询学生性别不是女生的
select * from student where sex<>'女';
逻辑运算符查询
- and 和,要同时符合这两个条件或多个条件;
#查询学生分数高于122的男同学
select * from student where score>122 and sex='男';
- or 或,满足其中一个条件即可,两者都有则都输出;
#查询年龄大于18或小于20的学生
select * from student where age>18 or age<20;
- not 不,不要指定条件的数据;
#查询分数不在120到123的学生
select * from student where not (score>=120 and score<=123);
多个条件判断想要作为一个整体的时候,可以使用()。
模糊查询
新增3条模糊查询要用到的数据
insert into student values (null,'张九','男',15,7.12,'北京市朝阳区某小区1号楼1单元103','zhangjiu@163.com',16839217282,122);
insert into student values (null,'张时嘉','女',17,12.12,'北京市朝阳区某小区1号楼1单元102','zhangsj@163.com',13307189235,124.5),(null,'张时依','女',17,12.12,'北京市朝阳区某小区1号楼1单元102','zhangsy@163.com',13307189236,125);
-
like是模糊查询关键字
-
%表示任意多个任意字符
-
_表示一个任意字符
例1:查询姓张的学生都有谁
#查询姓张的学生都有谁
select name from student where name like "张%";
例2:查询姓张的两个字的学生都有谁
#查询姓张的两个字的学生都有谁
select * from student where name like "张_";
例3:查询三个字的学生都有谁
#查询三个字的学生都有谁
select * from student where name like "___";
例4:查询手机号以16开头的学生
#查询手机号以16开头的学生
select * from student where iphone like "16%";
例5:查询姓老的或是名字中带时的都有谁
#查询姓老的或是名字中带时的都有谁
select * from student where name like "老%" or name like "%时%";
范围查询
- between … and … 表示在一个连续的范围内查询
- in 表示在一个非连续的范围内查询
例1:查询生日6月01日到9月31日的学生
#查询生日6月01日到9月31日的学生
select * from student where birthday between "6.01"and"9.31";
例2:查询地址为1单元103到109之间的男同学
#查询地址为1单元103到109之间的男同学
select * from student where (address between "北京市朝阳区某小区1号楼1单元103"and"北京市朝阳区某小区1号楼1单元109") and sex='男';
例3:查询id为1和22的两个学生
#查询id为1和22的两个学生
select * from student where id in(1,22);
IN 列表项不仅支持数字,也支持字符甚至时间日期类型等,并且可以将这些不同类型的数据项混合排列而无须跟 column 的类型保持一致:
一个 IN 只能对一个字段进行范围比对,如果要指定更多字段,可以使用 AND 或 OR 逻辑运算符:
使用 AND 或 OR 逻辑运算符后,IN 还可以和其他如 LIKE、>=、= 等运算符一起使用。
空判断查询
- 判断为空使用: is null
- 判断非空使用: is not null
#查询邮件是空的学生
select * from student where email is null;
#查询邮件不是空的学生
select * from student where email is not null;
不能使用 where height = null 判断为空
不能使用 where height != null 判断非空
null 不等于 空字符串
多表联查
新增一个表
create table body (id int(3) ZEROFILL PRIMARY KEY AUTO_INCREMENT comment'id',name varchar(255) not null comment'姓名',height varchar(255) comment'身高',weight varchar(255) not null comment'体重',heartbeat int comment'心跳/每分钟')comment='学生身体表';
新增数据
insert into body values (null,'张三','177.2','140.4',99),(null,'李四','180','149.2',80),(null,'王五','167.9','141',80),(null,'老六','173','128',77),(null,'小七','159.5','90.8',89),(null,'老八','169.9','145.2',78),(null,'张九','169','120.5',82),(null,'张时嘉','168','83',79),(null,'张时依','168.3','83.4',82);
两表联查内连接
两表联查必须加上where 表1 id=表2 id,否则查询出来会有很多重复的数据,你写了几个字段,就会查询到多少字段的重复数据;
内连接格式:A inner join B on 条件
例子:
select * from A inner join B on 条件;
select * from A inner join B on 条件 where 条件;
select * from A inner join B on 条件 where 条件 having 条件;
select * from A inner join B on 条件 order by 字段;
select * from A inner join B on 条件 where 条件 order by 字段;
select * from A inner join B on 条件 where 条件 having 条件 order by 字段;
例1:查询student表姓名、性别、年龄,body表身高、体重、心跳;
#两表联查:查询student表姓名、性别、年龄,body表身高、体重、心跳;
select student.name as '姓名',student.sex as '性别',student.age as '年龄',body.height as '身高',body.weight as '体重',body.heartbeat as '心跳/每分钟' from student,body where student.id=body.id;#别名两表联查:查询student表姓名、性别、年龄,body表身高、体重、心跳;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高',b.weight as '体重',b.heartbeat as '心跳/每分钟' from student a,body b where a.id=b.id;
例2:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的学生;
#别名两表联查:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的学生;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高',b.weight as '体重',b.heartbeat as '心跳/每分钟',a.score as '分数' from student a,body b where a.id=b.id having score>=122;
例3:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生;
#别名两表联查内连接:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高',b.weight as '体重',b.heartbeat as '心跳/每分钟',a.score as '分数' from student a inner join body b on a.id=b.id where score>=122 having sex='女';
例4:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生且从大到小排序;
#别名两表联查内连接:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生且从大到小排序;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高',b.weight as '体重',b.heartbeat as '心跳/每分钟',a.score as '分数' from student a inner join body b on a.id=b.id where score>=122 having sex='女' order by score desc;
两表联查左连接
两表联查必须加上where 表1 id=表2 id,否则查询出来会有很多重复的数据,你写了几个字段,就会查询到多少字段的重复数据;
内连接格式:A left join B on 条件
例子:
select * from A left join B on 条件;
select * from A left join B on 条件 where 条件;
select * from A left join B on 条件 where 条件 having 条件;
select * from A left join B on 条件 order by 字段;
select * from A left join B on 条件 where 条件 order by 字段;
select * from A left join B on 条件 where 条件 having 条件 order by 字段;
例1:查询student表姓名、性别、年龄,body表身高;
#别名两表联查左连接:查询student表姓名、性别、年龄,body表身高;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高' from student a left join body b on a.id=b.id;
例2:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的学生;
#别名两表联查左连接:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的学生;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高',b.weight as '体重',b.heartbeat as '心跳/每分钟',a.score as '分数' from student a left join body b on a.id=b.id where score>=122;
例3:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生;
#别名两表联查左连接:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高',b.weight as '体重',b.heartbeat as '心跳/每分钟',a.score as '分数' from student a left join body b on a.id=b.id where score>=122 having sex='女';
例4:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生且从大到小排序;
#别名两表联查左连接:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生且从大到小排序;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高',b.weight as '体重',b.heartbeat as '心跳/每分钟',a.score as '分数' from student a left join body b on a.id=b.id where score>=122 having sex='女' order by score desc;
两表联查右连接
两表联查必须加上where 表1 id=表2 id,否则查询出来会有很多重复的数据,你写了几个字段,就会查询到多少字段的重复数据;
内连接格式:A right join B on 条件
例子:
select * from A right join B on 条件;
select * from A right join B on 条件 where 条件;
select * from A right join B on 条件 where 条件 having 条件;
select * from A right join B on 条件 order by 字段;
select * from A right join B on 条件 where 条件 order by 字段;
select * from A right join B on 条件 where 条件 having 条件 order by 字段;
例1:查询student表姓名、性别、年龄,body表身高;
#别名两表联查右连接:查询student表姓名、性别、年龄,body表身高;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高' from student a right join body b on a.id=b.id;
例2:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的学生;
#别名两表联查右连接:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的学生;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高',b.weight as '体重',b.heartbeat as '心跳/每分钟',a.score as '分数' from student a right join body b on a.id=b.id where score>=122;
例3:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生;
#别名两表联查右连接:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高',b.weight as '体重',b.heartbeat as '心跳/每分钟',a.score as '分数' from student a right join body b on a.id=b.id where score>=122 having sex='女';
例4:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生且从大到小排序;
#别名两表联查右连接:查询student表姓名、性别、年龄、分数,body表身高、体重、心跳,并只显示成绩大于等于122的女学生且从大到小排序;
select a.name as '姓名',a.sex as '性别',a.age as '年龄',b.height as '身高',b.weight as '体重',b.heartbeat as '心跳/每分钟',a.score as '分数' from student a right join body b on a.id=b.id where score>=122 having sex='女' order by score desc;
全连接: union或union all
注意:
1.两张表的数据数量必须相同
2.全连接内使用order by 没有效果,可以对连接后的结果进行排序;
3.union会合并相同的数据;
select * from 表1 union all select * from 表2;
select * from student1 union all select * from student2;
相关文章:

【MYSQL中级篇】数据库数据查询学习
🍁博主简介 🏅云计算领域优质创作者 🏅华为云开发者社区专家博主 🏅阿里云开发者社区专家博主 💊交流社区:运维交流社区 欢迎大家的加入! 相关文章 文章名文章地址【MYSQL初级篇】入门…...
华为OD机试真题JAVA实现【火星文计算】真题+解题思路+代码(20222023)
🔥系列专栏 华为OD机试(JAVA)真题目录汇总华为OD机试(Python)真题目录汇总华为OD机试(C++)真题目录汇总华为OD机试(JavaScript)真题目录汇总文章目录 🔥系列专栏题目输入输出描述示例一输入输出说明解题思路核心知识点Code运行结果版...
Linux基础知识
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放࿰…...

Linux 游戏性能谁的 更优秀X.Org还是Wayland!
导读X.Org 和 Wayland 是目前 Linux 平台上的两大主流显示服务器,那么两者在 Linux 游戏性能上谁更优秀呢?国外科技媒体 Phoronix 在 Ubuntu 22.10 上对其进行了多款游戏的实测。评测在运行 GNOME 43.1 的 Ubuntu 22.10 上进行测试,在安装英伟…...

【数据结构】算法的复杂度分析:让你拥有未卜先知的能力
👑专栏内容:数据结构⛪个人主页:子夜的星的主页💕座右铭:日拱一卒,功不唐捐 文章目录一、前言二、时间复杂度1、定义2、大O的渐进表示法3、常见的时间复杂度三、空间复杂度1、定义2、常见的空间复杂度一、前…...

Linux根文件系统移植
目录 一、根文件系统 1.1根文件系统 1.2根文件系统内容 二、根文件系统移植 2.1BusyBox 2.2BusyBox的获取 2.3BusyBox的使用 2.4make menuconfig 2.5编译和安装 2.6修改根文件系统 一、根文件系统 1.1根文件系统 根文件系统是内核启动后挂载的第一个文件系统系统引…...

Three.js 无限平面快速教程【Plane】
Three.js 提供了 Plane 概念来表示在 3d 空间中无限延伸的二维表面。 这对于光标交互很有用,因此你可能需要了解如何设置此平面、将其可视化并根据需要进行调整。 推荐:使用 NSDT场景设计器 快速搭建 3D场景。 Three.js 的 Plane 文档很好而且准确&…...

在线预览PDF文件、图片,并且预览地址不显示文件或图片的真实路径。
实现在线预览PDF文件、图片,并且预览地址不显示文件或图片的真实路径。1、vue使用blob流在线预览PDF、图片(包括jpg、png等格式)。1、按钮的方法:2、方法详细:(此方法可以在发起请求时携带token,…...

Allegro如何设置导入Subdrawing可自由选择目录操作指导
Allegro如何设置导入Subdrawing可自由选择目录操作指导 用Allgro做PCB设计的时候,导入Subdrawing是非常常用的功能,在导入Subdrawing的时候,通常需要把Subdrawing文件放在需要导入PCB的相同目录下,不能自由选择,如下图 但是Allegro是支持自由选择目录的,只需按照下方的步…...

SpirngMVC执行原理--自学版
DispatcherServlet表示前置控制器,是整个SpringMVC的控制中心,用户发出请求,DispatcherServlet接收请求并拦截请求HandlerMapper为处理器映射。DispatcherServlet调用。HandlerMapping根据请求url查找HandlerHandlerExecution表示具体的Handl…...
获取savemodel的输入输出节点
saved_model_cli show --dir savemodels --all 结果: MetaGraphDef with tag-set: ‘serve’ contains the following SignatureDefs: signature_def[‘translation_signature’]: The given SavedModel SignatureDef contains the following input(s): inputs[‘i…...

《Learning to Reconstruct Botanical Trees from Single Images》学习从单幅图像重建植物树
读书报告下载https://download.csdn.net/download/weixin_43042683/87448211论文原文https://dl.acm.org/doi/10.1145/3478513.3480525论文视频https://www.bilibili.com/video/BV1cb4y127Vp/?fromseopage&vd_source5212838c127b01db69dcc8b2d27ca5171引言植物存在在室外与…...

vant 4 正式发布,支持暗黑主题,那么是如何实现的呢
2022年10月25日首发于掘金,现在同步到公众号。11. 前言大家好,我是若川。我倾力持续组织了一年多源码共读,感兴趣的可以加我微信 lxchuan12 参与。另外,想学源码,极力推荐关注我写的专栏《学习源码整体架构系列》&…...
MySQL的复制 二
复制是MySQL的一项功能,使服务器能够将更改从一个实例恢复到另一个实例 主服务器(master)将所有数据和结构更改记录到二进制日志中。二进制日志格式是基于语句的、基于行的和混合的。 从属服务器(slave)从主服务器请求…...

秒杀项目之秒杀商品展示及商品秒杀
目录前言一、登录方式调整二、生成秒杀订单2.1 绑定秒杀商品2.2 查看秒杀商品2.3 订单秒杀2.3.1 移除seata相关(方便测压)2.3.2 生成秒杀订单2.3.3 前端页面秒杀测试注意前言 博主博客用到的资源都会同步分享到资源包中 一、登录方式调整 第1步…...

教育行业需要什么样的数字产品?
数字化转型的浪潮已经席卷了各行各业,不仅出现在互联网、电商、建筑等行业,还应用在了教育行业。数字化的教育ERP软件能够在满足学校需求的基础上,帮助学校完善各类工作流程,提高工作效率。 对于一个拥有多个校区,上万…...

Spring MVC
一、Spring MVC介绍 a. Spring MVC是一个Web框架 b. Spring MVC是基于Servlet API构成的 MVC 是 Model View Controller 的缩写。 MVC 是⼀种思想,⽽ Spring MVC 是对 MVC 思想的具体实现。 学习Spring MVC目标: a.连接功能:将用户ÿ…...

类与对象(上)
类与对象(上) 1.面向过程和面向对象初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间…...
正确安装 torch_geometric库
step1: 查看pytorchcuda 版本 torch-scatter torch-sparse torch-cluster torch-spline-conv 这些关联包要与torch版本匹配。 import torch print(torch.__version__) print(torch.cuda.is_available()) torch.version.cuda或者 pip list查看版本 step2ÿ…...

【Unity VR开发】结合VRTK4.0:自身移动(滑动)
语录: 依山傍水房树间,行也安然,住也安然; 一条耕牛半顷田,收也凭天,荒也凭天; 雨过天晴驾小船,鱼在一边,酒在一边; 夜晚妻子话灯前,今也谈谈…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...
rknn优化教程(二)
文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK,开始写第二篇的内容了。这篇博客主要能写一下: 如何给一些三方库按照xmake方式进行封装,供调用如何按…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)
目录 1.TCP的连接管理机制(1)三次握手①握手过程②对握手过程的理解 (2)四次挥手(3)握手和挥手的触发(4)状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)
Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习) 一、Aspose.PDF 简介二、说明(⚠️仅供学习与研究使用)三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...

android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement
Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...

Win系统权限提升篇UAC绕过DLL劫持未引号路径可控服务全检项目
应用场景: 1、常规某个机器被钓鱼后门攻击后,我们需要做更高权限操作或权限维持等。 2、内网域中某个机器被钓鱼后门攻击后,我们需要对后续内网域做安全测试。 #Win10&11-BypassUAC自动提权-MSF&UACME 为了远程执行目标的exe或者b…...