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

数据库-子查询、关联查询 和 TCL 语言

标题目录

  • 子查询
    • 使用场景
    • 子查询分类
    • 在 DQL 中使用子查询
      • 单行单列子查询
      • 多行单列子查询
    • 在 DML 中使用子查询
    • 在 DDL 中使用子查询
      • 视图
  • 关联查询
    • 关联关系的分类
    • 连接条件
    • 主外键关联
    • N 表关联查询
    • 关联查询中使用聚合函数
  • TCL 语言
    • 事务的特性(ACID)
    • 在事务中控制DML操作

子查询

  • 子查询:SubQuery
  • 嵌套在其他SQL语句中的一条DQL语句被称为子查询

使用场景

  • 在DQL语句中使用
    • 可以在SELECT子句中将子查询结果当作字段使用
    • 可以在FROM子句中将子查询的结果当作表使用(视图)
    • 可以在WHERE子句中将子查询结果当作过滤条件使用
  • 在DML语句中使用
    • 将查询结果用于增删改操作
  • 在DDL语句中使用
    • 可以将子查询结果集当作表创建
    • 可以将子查询当作视图创建

子查询分类

  • 单行单列子查询
    • 结果集只有一个值
    • 常用于DQL,DML
  • 多行单列子查询
    • 结果集有多个值
    • 常用于DQL,DML
  • 多行多列子查询
    • 结果集是一个表
    • 常用于DQL和DDL

在 DQL 中使用子查询

单行单列子查询

查看比王老师工资高的老师都有谁

SELECT name,salary
FROM teacher
WHERE salary>(SELECT salary FROM teacher WHERE name='王老师')

查看哪些老师的工资高于平均工资

SELECT name,salary
FROM teacher
WHERE salary>(SELECT AVG(salary) FROM teacher)

多行单列子查询

  • 子查询的结果有多个值
  • 进行等值判断时要配合 IN 或者 NOT IN 使用
  • 如果进行关系运算(>,>=,<,<=)
    • >ANY(列表):大于列表里其中之一(>最小值即可)
    • <ANY(列表):小于列表里其中之一(<最大值即可)
    • >ALL(列表):大于列表中所有值(>最大值)
    • <ALL(列表):小于列表中所有值(<最小值)

查看与"张三"和"李四"在同一个班的学生都有谁

SELECT name,class_id
FROM student
WHERE class_id IN(SELECT class_id FROM student WHERE name IN('张三','李四'))

查看比科目2和科目4老师工资都高的老师都有谁

SELECT name,salary
FROM teacher 
WHERE salary>ALL(SELECT salary FROM teacher WHERE subject_id IN(2,4))

在 DML 中使用子查询

给与张三负责同一科目的所有老师工资涨500

UPDATE teacher
SET salary=salary+500
WHERE subject_id=(SELECT subject_id FROM teacher where name='张三')

将李四的工资改为与张三一致

UPDATE teacher
SET salary=(SELECT salary FROM teacher WHERE name='张三')
WHERE name='李四';

删除与张三教同一科目的所有老师

DELETE FROM teacher
WHERE subject_id=(SELECT subject_id FROM teacher WHERE name='张三');

在 DDL 中使用子查询

  • 可以将一个子查询结果集当做表创建出来
  • 语法
    • CREATE TABLE 表名
      AS
      子查询

创建一张表,表中记录每个科目老师的工资情况

CREATE TABLE t_teacher_salary_info
AS
SELECT subject_id,MIN(salary) min_salary,MAX(salary) max_salary,SUM(salary) sum_salary,AVG(salary) avg_salary
FROM teacher
GROUP BY subject_id

视图

  • 视图(VIEW)也被称作虚表,即虚拟的表,是一组数据的逻辑表示
  • 视图对应于一条SELECT语句,结果集被赋予一个名字,即视图名字
  • 视图本身并不包含任何数据,他只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也随之变化

视图的作用

  • 简化复杂查询
    如果需要经常执行某项复杂查询,可以基于这个复杂查询建立视图,此后查询此视图即可
  • 限制数据访问
    视图本质上就是一条SELECT语句,所以当访问视图时,只能访问到所对应的SELECT语句中涉及到的列,对基表中的其他列起到安全和保密的作用

语法:

  • CREATE VIEW 视图名
    AS
    子查询

创建一个视图,展示老师的信息,隐藏工资等敏感信息

CREATE VIEW v_teacher_info
AS
SELECT id,name,title,gender,age,subject_id
FROM teacher
  • 视图可以查看结构
DESC v_teacher_info
  • 查看视图数据
SELECT * FROM v_teacher_info

(此时无法查看到老师的敏感数据)

关联查询

  • 联合多张表查询数据,意味着查询的结果集中字段来自多张表
  • 表与表中的数据会产生对应的关系,这样的关系被称为关联关系

关联关系的分类

  • 两张表就可以产生对应的关联关系
  • 一对一关系:A表的1条记录只能对应B表的1条记录
  • 一对多关系:A表的1条记录可以对应B表的多条记录
  • 多对多关系:A表与B表双向都是一对多时就是多对多关系

连接条件

  • 连接条件用于关联两张表中数据的对应关系
  • 注意事项
    • 在关联查询中通常两张表之间要指定连接条件,否则会产生笛卡尔积,这通常是一个无意义的结果集,开销大,除非必要通常要避免
    • 连接条件的数量:N 张表关联查询至少要有 N-1 个连接条件
  • 语法:
    SELECT 表A.字段,表B.字段,…
    FROM 表A,表B,…
    WHERE 表A与表B的连接条件
    AND 过滤条件

查看每个老师和所教科目的名字

SELECT teacher.name,teacher.salary,subject.name
FROM teacher,subject
WHERE teacher.subject_id=subject.id;

查看每个班级的班主任

SELECT class.name,teacher.name
FROM class,teacher
WHERE class.teacher_id=teacher.id;
  • SELECT 子句中标注字段来自哪张表时,表名可以使用别名来进行简化

查看每个班级的班主任

SELECT c.name,t.name
FROM class c,teacher t
WHERE c.teacher_id=t.id;

主外键关联

两张表中的记录存在关联关系时,那么就会在在两张表中分别定义主键和外键

  • 主键:
    • 主键通常是表中的第一个字段,名字一般为 " id "
    • 主键的特点:非空且唯一,可以使用主键约束进行定义
    • 主键用来标识表中每一条记录
  • 外键:
    • 外键是用来记录另一张表主键字段值的一个字段
    • 设计有外键字段值的表在关联关系中处于关联关系一对多中 " 多 " 的那一方

张三是哪个班的班主任

SELECT t.name,c.name
FROM teacher t,class c
WHERE t.id=c.teacher_id
AND t.name='张三'

查看来自南京的学生都是谁,列出城市名称,学生名字,年龄,性别

SELECT s.name,s.age,s.gender,l.name
FROM student s,location l
WHERE s.location_id=l.id
AND l.name='南京'

N 表关联查询

  • N 张表关联查询至少要有 N-1 个连接条件

查看张三所带班级的学生都有谁

SELECT s.name,c.name,t.name
FROM student s,teacher t,class c
WHERE s.class_id=c.id AND c.teacher_id=t.id
AND t.name='张三'

查看1年级1班的同学以及来自的城市

SELECT s.name,c.name,l.name
FROM student s,class c,location l
WHERE s.class_id=c.id AND s.location_id=l.id
AND c.name='1年级1班'

关联查询中使用聚合函数

查看张三所带班级的学生共有多少人

SELECT COUNT(*)
FROM student s,class c,teacher t
WHERE s.class_id=c.id AND c.teacher_id=t.id
AND t.name='张三'

查看教每门课的老师的平均工资

SELECT t.name,su.name,AVG(t.salary)
FROM teacher t,subject su
WHERE t.subject_id=su.id
GROUP BY su.name

TCL 语言

  • 事务控制语言(TCL):Transaction Control Language
  • 用于保数据库的一致性和完整性
  • 语法:
    • BEGIN:开始一个事务
    • ROLLBACK:回滚本次事务到BEGIN的位置
    • COMMIT:提交本次事务,将BEGIN后的所有操作更新到数据库中

事务的特性(ACID)

ACID四大特性‌是指数据库事务的四个基本特性,分别是原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)

  • 原子性(Atomicity)‌:原子性确保事务是一个不可分割的工作单位,事务中的所有操作要么全部完成,要么全部不执行。如果事务在执行过程中发生错误,会被恢复到事务开始前的状态,就像这个事务从来没有执行过一样
  • 一致性(Consistency)‌:一致性保证事务的执行将数据库从一个一致的状态转变到另一个一致的状态。这意味着事务开始之前和结束之后,数据库的完整性没有被破坏
  • 隔离性(Isolation)‌:隔离性是指当多个事务同时对数据库进行操作时,每个事务都是独立的,一个事务的操作不会影响到其他事务。事务隔离分为不同级别,包括读未提交、读提交、可重复读和串行化
  • 持久性(Durability)‌:持久性意味着一旦事务被提交,它对数据库的修改就是永久性的,即使系统发生故障也不会丢失

在事务中控制DML操作

  1. 启动一个事务
BEGIN
  1. 执行任意的DML操作
DELETE FROM teacher
WHERE subject_id=(SELECT subject_id FROM teacher WHERE name='张三');

上述操作没有真实删除,只是数据库记录了该操作,但是在本次事务过程中后续所有操作都基于 上述DML效果之后模拟

SELECT * FROM teacher

查询时发现和 ’ 张三 ’ 教同一科的老师都被删除了

  1. 当实际业务处理完毕后,我们可以根据实际业务处理结果选择是提交事务,还是回滚事务
COMMIT;		-- 提交事务,那么BEGIN到COMMIT之间的所有DML操作就真实进行了.
ROLLBACK ;	-- 回滚事务,那么BEGIN到COMMIT之间的所有DML操作全部作废.

相关文章:

数据库-子查询、关联查询 和 TCL 语言

标题目录 子查询使用场景子查询分类在 DQL 中使用子查询单行单列子查询多行单列子查询 在 DML 中使用子查询在 DDL 中使用子查询视图 关联查询关联关系的分类连接条件主外键关联N 表关联查询关联查询中使用聚合函数 TCL 语言事务的特性&#xff08;ACID&#xff09;在事务中控制…...

精华贴分享|【牛马课题】可转债多策略研究-1【基础篇】

本文来源于量化小论坛策略分享会板块精华帖&#xff0c;作者为Mc&#xff0c;发布于2025年3月19日。 以下为精华帖正文&#xff1a; 01 背景 本次牛马主题是可转债的多策略研究。在第一次牛马线上会议讨论时&#xff0c;我曾表达对今年转债市场的看好。 原因在于&#xff1a…...

精读27页健康医疗大数据安全管控分类分级实施指南

这篇文档是一份关于健康医疗大数据安全管控分类分级实施指南的文档。该指南的主要内容包括数据分类、数据分级、数据开放形式、数据对外开放分级管控、数据模糊化与标签化、数据对外开放典型场景、数据内部分级安全管控和IS&ITS管理手册等内容。 具体来说&#xff0c;该指南…...

Spring MVC 数据绑定利器:深入理解 @InitBinder

在使用 Spring MVC 开发 Web 应用时&#xff0c;我们经常需要处理从 HTTP 请求&#xff08;如 URL 参数、表单数据&#xff09;到 Controller 方法参数的自动转换。这就是 Spring 的数据绑定 (Data Binding) 机制。虽然 Spring 提供了很多默认的类型转换器&#xff08;比如字符…...

【HTTP/2:信息高速公路的革命】

HTTP/2&#xff1a;信息高速公路的革命 想象一下&#xff0c;如果说HTTP/1.1是一条繁忙的双向马路&#xff0c;那么HTTP/2就是一座现代化的高速公路网络系统&#xff0c;彻底改变了数据传输的方式。让我们通过生动的比喻和图表&#xff0c;深入了解这场网络通信的革命。 HTTP…...

PMIC PCA9450 硬件原理全解析:为 i.MX 8M 平台供电的“大脑”

在嵌入式 Linux 系统中&#xff0c;电源设计是构建稳定系统的基础。PCA9450 是 NXP 推出的一款高度集成的 电源管理芯片&#xff08;PMIC&#xff09;&#xff0c;专为 i.MX 8M 系列处理器设计。它不仅提供多路电压输出&#xff0c;还具备可编程启动顺序、动态电压调节、低功耗…...

【计算机视觉】CV实战项目 - 深入解析基于HOG+SVM的行人检测系统:Pedestrian Detection

深入解析基于HOGSVM的行人检测系统&#xff1a;从理论到实践 技术核心&#xff1a;HOGSVM检测框架HOG特征原理SVM分类器 项目架构与数据准备INRIA Person数据集目录结构 实战指南&#xff1a;从零构建检测系统环境配置完整训练流程检测应用 关键技术问题与解决方案1. 难例挖掘不…...

巴西kwai短视频推广旅游广告获客营销策略

巴西kwai短视频平台作为一种新兴的推广渠道&#xff0c;可以为旅游广告带来新的营销机遇。以下是一些针对利用kwai短视频平台推广旅游广告的获客营销策略&#xff1a; 制作吸引人的内容&#xff1a;在kwai平台上发布具有吸引力的短视频内容&#xff0c;包括美丽的风景、当地文化…...

智慧医疗领域TMI期刊2025年3月研究热点解析

本推文对2025年3月《IEEE Transactions on Medical Imaging》&#xff08;TMI&#xff09;期刊论文的研究热点进行了深入分析。本期TMI涵盖了多模态图像融合、深度学习在医学诊断中的应用、三维重建与分割、图像引导治疗等关键方向&#xff0c;呈现出智慧医疗与人工智能深度融合…...

系统思考:看清问题背后的结构

组织的挑战&#xff0c;往往不是因为不努力&#xff0c;而是“看不清” 结束了为期两天系统思考课程的第一天&#xff0c;被学员的全情投入深深打动。我们用系统结构图&#xff0c;一步步揭示那些表面看起来“习以为常”的问题&#xff1a; 什么原因跨部门协作总是磕磕绊绊&am…...

计算机组成原理实验(1) 算术逻辑运算单元实验

实验一 算术逻辑运算单元实验 一、实验目的 1、掌握简单运算器的数据传输方式 2、掌握74LS181的功能和应用 二、实验内容 1、不带进位位逻辑或运算实验 2、不带进位位加法运算实验 3、实验指导书2.15实验思考 三、实验步骤和结果 实验内容一&#xff1a;不带进位…...

网络安全概述:定义、重要性与发展历程

网络安全概述&#xff1a;定义、重要性与发展历程 在互联网深度融入生活与工作的今天&#xff0c;网络安全已成为不可忽视的关键领域。从个人隐私泄露到企业数据失窃&#xff0c;再到国家关键基础设施遭受攻击&#xff0c;网络安全事件频发&#xff0c;深刻影响着个人、组织乃…...

应力腐蚀环功能及指标

西安力创&#xff08;LETRY&#xff09;应力腐蚀环广泛应用于高品质材料的生产检测和研究中。在H2S 作用下准确运用应力环测试可获取石油勘探&#xff0c;航天航空&#xff0c;焊接密封&#xff0c;海运船舶&#xff0c;食品加工等各类材料在各种酸&#xff0c;碱腐蚀环境的腐蚀…...

【多目标进化算法】常见多目标进化算法一览

算法全称核心特点备注NSGA-IINon-dominated Sorting Genetic Algorithm II非支配排序 拥挤度最经典&#xff0c;应用最广NSGA-IIINon-dominated Sorting Genetic Algorithm III支撑向量引导&#xff0c;适合高维&#xff08;3目标以上&#xff09;NSGA-II 的高维扩展版MOEA/DM…...

【2025 最新前沿 MCP 教程 01】模型上下文协议:AI 领域的 USB-C

文章目录 1. MCP 来了2. 什么是 MCP&#xff1f;为何它是颠覆性创新&#xff1f;M N 问题&#xff1a;解开 AI 集成乱麻 3. 采用 MCP 的核心优势&#xff1a;普适性价值MCP 与传统 API 集成的对比概览 4. 未来的路 1. MCP 来了 没想到&#xff0c;2025 年的每一天都在上演 「…...

抖音集团电商流量实时数仓建设实践

摘要&#xff1a;本文整理自抖音集团电商数据工程师姚遥老师在 Flink Forward Asia 2024 分论坛中的分享。内容主要分为五个部分&#xff1a; 1、业务和挑战 2、电商流量建模架构 3、电商流量流批一体 4、大流量任务调优 5、总结和展望 01.业务和挑战 第一部分给大家介绍一下流…...

redis客户端库redis++在嵌入式Linux下的交叉编译及使用

在开发过程中&#xff0c;我们经常会遇到需要在嵌入式Linux系统上与Redis进行交互的需求。因此选择一个适合的Redis客户端库就显得尤为重要。下面介绍下c中有名的redis-plus-plus&#xff08;redis&#xff09;三方库在嵌入式linux下的交叉编译及使用。该库底层是基于hiredis的…...

5.3 Dify:低代码平台,适用于企业快速部署合规AI应用

Dify作为一款开源低代码平台&#xff0c;已成为企业快速构建和部署合规AI应用的首选工具。Dify通过整合后端即服务&#xff08;Backend-as-a-Service, BaaS&#xff09;、大型语言模型操作&#xff08;LLMOps&#xff09;以及直观的视觉化界面&#xff0c;显著降低了AI应用开发…...

什么是可重入锁ReentrantLock?

大家好&#xff0c;我是锋哥。今天分享关于【什么是可重入锁ReentrantLock?】面试题。希望对大家有帮助&#xff1b; 什么是可重入锁ReentrantLock? ReentrantLock 是 Java 中的一个锁实现&#xff0c;它是 java.util.concurrent.locks 包中的一部分&#xff0c;主要用于提供…...

【Java学习日记26】:方法的重载

一、方法重载核心概念 方法重载&#xff08;Overload&#xff09;&#xff1a;指在同一个类中定义多个同名方法&#xff0c;但这些方法的参数列表必须不同。重载的目的是让同一功能的方法能处理不同类型或数量的参数&#xff0c;提高代码复用性。 二、判断是否构成重载的规则 …...

分层设计数据仓库的架构和设计高效数据库系统的方法

结合你所有的知识和技术&#xff0c;设计一套高效的数据仓库的分层架构说明每一层分层的用途以及为什么要这么设计&#xff0c;有什么优势&#xff1f;再从数据建模和其它的角度详细论述如何设计出一个高性能的数据仓库系统&#xff1f; 高效数据仓库分层架构设计 分层架构及…...

铃木一郎女儿是奥运会选手吗·棒球1号位

铃木一朗&#xff08;Ichiro Suzuki&#xff09; 铃木一朗职业生涯时间线 1973年出生于日本爱知县名古屋市。1992年以选秀第四顺位加入日本职棒&#xff08;NPB&#xff09;欧力士蓝浪队&#xff0c;开启职业棒球生涯。 1994-2000年 连续7年获得NPB太平洋联盟打击王&#xff…...

ORB-SLAM3核心模块、数据结构和线程交互方面解析

ORB-SLAM3作为当前最先进的视觉SLAM系统之一,其代码架构设计体现了高度模块化和多线程协同的特点。以下结合代码实现和系统原理,从核心模块、数据结构和线程交互三个维度展开详细解析: 一、核心架构模块 1. 线程划分 ORB-SLAM3采用多线程架构,主要包含以下核心线程: Tra…...

小刚说C语言刷题——1565成绩(score)

1.题目描述 牛牛最近学习了 C 入门课程&#xff0c;这门课程的总成绩计算方法是&#xff1a; 总成绩作业成绩 20% 小测成绩 30% 期末考试成绩 50%。 牛牛想知道&#xff0c;这门课程自己最终能得到多少分。 输入 三个非负整数 A、B、C &#xff0c;分别表示牛牛的作业成…...

查找函数【C++】

二分查找函数 lower_bound(起始地址, 末尾地址, target)&#xff1a;查找第一个大于等于target目标值的位置 upper_bound(起始地址, 末尾地址, target)&#xff1a;查找第一个大于target目标值的位置 binary_search(起始地址, 末尾地址, target)&#xff1a;查找target是否存在…...

利用车联网中的 V2V 通信技术传播公平的紧急信息

与移动自组织网络 (MANET) 相比,车载自组织网络 (VANET) 的节点移动速度更快。网络连接的节点可以在自身内部或其他基础设施之间交换安全或非安全消息,例如车对车 (V2V) 或车对万物 (V2X)。在车载通信中,紧急消息对于安全至关重要,必须分发给所有节点,以提醒它们注意潜在问…...

Semantic Kernel也能充当MCP Client

背景 笔者之前&#xff0c;分别写过两篇关于Semantic Kernel&#xff08;下简称SK&#xff09;相关的博客&#xff0c;最近模型上下文协议&#xff08;下称MCP&#xff09;大火&#xff0c;实际上了解过SK的小伙伴&#xff0c;一看到 MCP的一些具体呈现&#xff0c;会发现&…...

assertEquals()

assertEquals() 是 JUnit 框架中用于进行断言操作的一个非常常用的方法&#xff0c;其主要目的是验证两个值是否相等。如果两个值不相等&#xff0c;测试就会失败&#xff0c;JUnit 会给出相应的错误信息&#xff0c;提示开发者测试未通过。下面为你详细介绍&#xff1a; 方法…...

【ESP32S3】 下载时遇到 libusb_open() failed 解决方案

之前写过一篇 《VSCode 开发环境搭建》 的文章&#xff0c;很多小伙伴反馈说在下载固件或者配置的时候会报错&#xff0c;提示大多是 libusb_open() failed ...... &#xff1a; 这其实是由于 USB 驱动不正确导致的&#xff0c;准确来说应该是与 ESP-IDF 中内置的 OpenOCD 需要…...

【Pandas】pandas DataFrame rsub

Pandas2.2 DataFrame Binary operator functions 方法描述DataFrame.add(other)用于执行 DataFrame 与另一个对象&#xff08;如 DataFrame、Series 或标量&#xff09;的逐元素加法操作DataFrame.add(other[, axis, level, fill_value])用于执行 DataFrame 与另一个对象&…...

[C]基础13.深入理解指针(5)

博客主页&#xff1a;向不悔本篇专栏&#xff1a;[C]您的支持&#xff0c;是我的创作动力。 文章目录 0、总结1、sizeof和strlen的对比1.1 sizeof1.2 strlen1.3 sizeof和strlen的对比 2、数组和指针笔试题解析2.1 一维数组2.2 字符数组2.2.1 代码12.2.2 代码22.2.3 代码32.2.4 …...

巧记英语四级单词 Unit5-上【晓艳老师版】

count 数&#xff0c; counter n.计算器&#xff0c;柜台 a.相反的 数数的东西就是计算器&#xff0c;在哪数&#xff0c;在柜台里面数&#xff1b;你和售货员的关系就是相反的(一个买货&#xff0c;一个卖货account n.账户&#xff0c;账号 一再的数accountant n.会计 一再的…...

Linux系统中命令设定临时IP

1.查看ip ---ifconfig 进入指定的网络接口 ifconfig ens160 建立服务器临时IP ifconfig ens160 ip地址 network 系统进行重启后&#xff0c;临时IP将会消失 ip address add ip地址 dev 服务器 ---添加临时ip ip address delete ip地址 dev 服务器 ---删除临时ip 设置ip&a…...

13.ArkUI Navigation的介绍和使用

ArkUI Navigation 组件介绍与使用指南 什么是 Navigation 组件&#xff1f; Navigation 是 ArkUI 中的导航组件&#xff0c;用于管理页面间的导航和路由。它提供了页面栈管理、导航栏定制、页面切换动画等功能&#xff0c;是构建多页面应用的核心组件。 Navigation 的核心概…...

MYSQL 常用数值函数 和 条件函数 详解

一、数值函数 1、ROUND(num, decimals) 四舍五入到指定小数位。 SELECT ROUND(3.1415, 2); -- 输出 3.142、ABS(num) 取绝对值 SELECT ABS(-10); -- 输出 103、CEIL(num) / FLOOR(num) 向上/向下取整 SELECT CEIL(3.2), FLOOR(3.7); -- 输出 4 和 34、MOD(num1, num2) 取…...

CuML + Cudf (RAPIDS) 加速python数据分析脚本

如果有人在用Nvidia RAPIDS加速pandas和sklearn等库&#xff0c;请看我这个小示例&#xff0c;可以节省你大量时间。 1. 创建环境 请使用uv&#xff0c;而非conda/mamba。 # install uv if not yetcurl -LsSf https://astral.sh/uv/install.sh | shuv init data_gpucd data_g…...

c#操作excel表格

c#操作excel表格有很多方法&#xff0c;本文介绍的是基于Interop.Excel方式。该方式并不是winform操作excel的最好方法&#xff0c;本文介绍该方法主要是为一些仍有需求的小伙伴。建议有兴趣的小伙伴可以看一下miniexcel&#xff0c;该方法更简洁高效。 一、首先需要下载inter…...

【uniapp】vue2 搜索文字高亮显示

【uniapp】vue2 搜索文字高亮显示 我这里是把方法放在公共组件中使用 props: {// 帖子listpostList: {type: Array,required: true},// 搜索文本字体高亮highLightSearch: {type: String,required: false} }, watch: {// 监听 props 的变化postList: {immediate: true,handle…...

Android ActivityManagerService(AMS)深度解析

目录 ‌一、什么是AMS?‌ ‌二、AMS 的架构层次‌ ‌1. 客户端层‌ 2‌. 服务层‌ ‌3. 底层驱动‌ 三、AMS 的主要功能‌ ‌四、核心模块与工作流程‌ 1. ‌核心模块‌ 2. ‌Activity 启动流程 3. ‌进程启动流程 4. ‌广播分发流程 五、AMS 的启动流程‌ 1‌. S…...

C语言中操作字节的某一位

在C语言中&#xff0c;可以使用位操作来设置或清除一个字节中的特定位。以下是几种常见的方法&#xff1a; 设置某一位为1&#xff08;置位&#xff09; // 将字节byte的第n位&#xff08;从0开始计数&#xff09;设置为1 byte | (1 << n); 例如&#xff0c;将第3位置…...

【特殊场景应对8】LinkedIn式动态简历的利弊分析:在变革与风险间走钢丝

写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offe…...

UOJ 228 基础数据结构练习题 Solution

Description 给定序列 a ( a 1 , a 2 , ⋯ , a n ) a(a_1,a_2,\cdots,a_n) a(a1​,a2​,⋯,an​)&#xff0c;有 m m m 个操作分三种&#xff1a; add ⁡ ( l , r , k ) \operatorname{add}(l,r,k) add(l,r,k)&#xff1a;对每个 i ∈ [ l , r ] i\in[l,r] i∈[l,r] 执行 …...

工业相机——镜头篇【机器视觉,图像采集系统,成像原理,光学系统,成像光路,镜头光圈,镜头景深,远心镜头,分辨率,MTF曲线,焦距计算 ,子午弧矢】

文章目录 1 机器视觉&#xff0c;图像采集系统2 相机镜头&#xff0c;属于一种光学系统3 常规镜头 成像光路4 镜头光圈5 镜头的景深6 远心镜头 及 成像原理7 远心镜头种类 及 应用场景8 镜头分辨率10 镜头的对比度11 镜头的MTF曲线12 镜头的焦距 计算13 子午弧矢 图解 反差 工业…...

珍爱网:从降本增效到绿色低碳,数字化新基建价值凸显

2024年12月24日&#xff0c;法大大联合企业绿色发展研究院发布《2024签约减碳与低碳办公白皮书》&#xff0c;深入剖析电子签在推动企业绿色低碳转型中的关键作用&#xff0c;为企业实现环境、社会和治理&#xff08;ESG&#xff09;目标提供新思路。近期&#xff0c;法大大将陆…...

Java大师成长计划之第3天:Java中的异常处理机制

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

主题模型三大基石:Unigram、LSA、PLSA详解与对比

&#x1f31f; 主题模型演进图谱 文本建模三阶段&#xff1a; 词袋模型 → 潜在语义 → 概率生成 Unigram → LSA → PLSA → LDA &#x1f4e6; 基础模型&#xff1a;Unigram模型 核心假设 文档中每个词独立生成&#xff08;词袋假设&#xff09; 忽略词语顺序和语义关联 …...

【Linux网络】TCP服务中IOService应用与实现

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…...

终端运行java出现???

1.检查是否系统区域设置冲突&#xff08;控制面板 → 区域 → 管理 → 更改系统区域设置 → 勾选 Beta: UTF-8&#xff09;。 2.修改 Windows 终端编码 方法 1&#xff1a;临时修改&#xff08;当前窗口&#xff09; 在终端执行&#xff1a;cmd chcp 65001 …...

Mysql8.0 推出的强大功能 窗口函数(Window Functions)

&#x1f9e0; 一、什么是窗口函数&#xff1f; 窗口函数是 SQL 中一种在保留原始行的基础上&#xff0c;对行进行分组排序后执行聚合、排名、累计等计算的方法。 与传统的 GROUP BY 聚合不同的是&#xff1a; &#x1f449; 窗口函数不会把多行聚成一行&#xff0c;而是为每…...

opencv--通道,彩色和灰度

图像的灰度值和颜色值的区别 灰度值&#xff08;Grayscale Value&#xff09;和颜色值&#xff08;Color Value&#xff09;是描述像素信息的两种基本方式&#xff0c;它们的核心区别在于对颜色信息的表示方式和应用场景。 (1) 灰度值&#xff08;Grayscale Value&#xff09;…...