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

MySQL基本查询与数据操作全面解析

目录

1. CRUD操作概述

2. Create操作详解

2.1 表的创建

2.2 单行数据插入

2.3 多行数据插入

2.4 插入冲突处理

3. Retrieve操作详解

3.1 基础查询

全列查询(慎用)

指定列查询

表达式查询

结果去重

3.2 条件查询(WHERE子句)

比较运算符

逻辑运算符

NULL处理

3.3 结果排序(ORDER BY)

3.4 分页查询(LIMIT与OFFSET)

4. Update操作详解

4.1 单字段更新

4.2 多字段更新

4.3 基于表达式更新

5. Delete操作详解

5.1 删除指定数据

5.2 清空表数据

6. 高级查询技巧

6.1 聚合函数

6.2 GROUP BY与HAVING

7. 实战案例解析

案例1:去重插入

案例2:分页查询

8. 总结与最佳实践


1. CRUD操作概述

CRUD是数据库操作的四大核心功能:

  • Create(创建):插入数据

  • Retrieve(读取):查询数据

  • Update(更新):修改数据

  • Delete(删除):删除数据

本文将通过丰富的代码示例,详细解析MySQL中CRUD的实现方式及注意事项。


2. Create操作详解

2.1 表的创建

通过CREATE TABLE语句定义表结构。

CREATE TABLE students (id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,sn INT NOT NULL UNIQUE COMMENT '学号',name VARCHAR(20) NOT NULL,qq VARCHAR(20)
);
  • 字段说明

    • id:主键,自增,无符号整数。

    • sn:唯一学号,不可为空。

    • name:姓名,长度限制为20字符。

    • qq:QQ号,可为空。

2.2 单行数据插入

全列插入时,需按表定义的列顺序提供所有值:

INSERT INTO students VALUES (100, 10000, '唐三藏', NULL);
  • 注意事项

    • 若省略自增主键(如id),MySQL会自动填充。

    • 必须保证值的顺序与表结构完全一致。

2.3 多行数据插入

指定列插入,适用于部分字段赋值:

INSERT INTO students (id, sn, name) VALUES(102, 20001, '曹孟德'),(103, 20002, '孙仲谋');
  • 优势:批量插入提升效率,减少数据库连接开销。

2.4 插入冲突处理

当主键或唯一键冲突时,使用ON DUPLICATE KEY UPDATE进行更新:

INSERT INTO students (id, sn, name) VALUES (100, 10010, '唐大师')ON DUPLICATE KEY UPDATE sn = 10010, name = '唐大师';
  • 返回值说明

    • 0 rows affected:冲突数据与更新值相同。

    • 1 row affected:插入新数据。

    • 2 rows affected:更新冲突数据。

或使用REPLACE直接替换冲突记录:

REPLACE INTO students (sn, name) VALUES (20001, '曹阿晴');
  • 注意REPLACE会删除原记录后插入新数据,可能导致自增ID不连续。


3. Retrieve操作详解

3.1 基础查询

全列查询(慎用)
SELECT * FROM exam_result;
  • 缺点:传输数据量大,可能影响索引性能。

指定列查询
SELECT id, name, english FROM exam_result;
表达式查询

计算总分并指定别名:

SELECT name, chinese + math + english AS 总分 FROM exam_result;
结果去重
SELECT DISTINCT math FROM exam_result;

3.2 条件查询(WHERE子句)

比较运算符
-- 英语不及格的同学
SELECT name, english FROM exam_result WHERE english < 60;-- 语文成绩在80到90分之间
SELECT name, chinese FROM exam_result 
WHERE chinese BETWEEN 80 AND 90;
逻辑运算符
-- 姓孙且不叫孙某的同学
SELECT name FROM exam_result 
WHERE name LIKE '孙%' AND name NOT LIKE '孙_';
NULL处理
-- 查询QQ号已知的同学
SELECT name, qq FROM students WHERE qq IS NOT NULL;

3.3 结果排序(ORDER BY)

-- 按数学成绩降序,英语成绩升序
SELECT name, math, english FROM exam_result 
ORDER BY math DESC, english ASC;

3.4 分页查询(LIMIT与OFFSET)

-- 每页3条数据,查询第2页
SELECT * FROM exam_result 
ORDER BY id LIMIT 3 OFFSET 3;
  • 注意OFFSET起始位置从0开始。


4. Update操作详解

4.1 单字段更新

UPDATE exam_result SET math = 80 WHERE name = '孙悟空';

4.2 多字段更新

UPDATE exam_result SET math = 60, chinese = 70 
WHERE name = '曹孟德';

4.3 基于表达式更新

-- 总成绩倒数前三的数学成绩加30分
UPDATE exam_result SET math = math + 30 
ORDER BY chinese + math + english LIMIT 3;

5. Delete操作详解

5.1 删除指定数据

DELETE FROM exam_result WHERE name = '孙悟空';

5.2 清空表数据

  • DELETE:逐行删除,可回滚,保留自增计数。

    DELETE FROM for_delete;

  • TRUNCATE:直接清空表,不可回滚,重置自增ID。

    TRUNCATE TABLE for_truncate;

6. 高级查询技巧

6.1 聚合函数

-- 统计数学成绩总分
SELECT SUM(math) FROM exam_result;-- 计算平均总分
SELECT AVG(chinese + math + english) AS 平均总分 FROM exam_result;

6.2 GROUP BY与HAVING

-- 按部门统计平均工资
SELECT deptno, AVG(sal) FROM EMP GROUP BY deptno;-- 筛选平均工资低于2000的部门
SELECT deptno, AVG(sal) AS avg_sal FROM EMP 
GROUP BY deptno HAVING avg_sal < 2000;

7. 实战案例解析

案例1:去重插入

-- 创建临时表并插入去重数据
CREATE TABLE no_duplicate_table LIKE duplicate_table;
INSERT INTO no_duplicate_table SELECT DISTINCT * FROM duplicate_table;
RENAME TABLE duplicate_table TO old_duplicate_table, no_duplicate_table TO duplicate_table;

案例2:分页查询

-- 按ID分页,每页3条
SELECT * FROM exam_result ORDER BY id LIMIT 3 OFFSET 6;

8. 总结与最佳实践

  1. 避免全列查询:减少数据传输量,提升性能。

  2. 谨慎使用UPDATE/DELETE:操作前备份数据,或添加LIMIT限制。

  3. 合理使用索引:WHERE和ORDER BY字段建立索引可加速查询。

  4. 事务管理:批量操作时开启事务,确保数据一致性。

通过本文的系统学习,读者可掌握MySQL核心操作,应对日常开发中的各类数据管理需求。

相关文章:

MySQL基本查询与数据操作全面解析

目录 1. CRUD操作概述 2. Create操作详解 2.1 表的创建 2.2 单行数据插入 2.3 多行数据插入 2.4 插入冲突处理 3. Retrieve操作详解 3.1 基础查询 全列查询&#xff08;慎用&#xff09; 指定列查询 表达式查询 结果去重 3.2 条件查询&#xff08;WHERE子句&#…...

《C++ 模板:泛型编程的核心》

C模板详解 模板是C中实现泛型编程的重要特性&#xff0c;它允许你编写与数据类型无关的代码。模板可以分为函数模板和类模板两种。 1. 函数模板 函数模板允许你定义一个可以处理多种数据类型的函数。 基本语法 template <typename T> T functionName(T parameter1, T…...

Web3实战:从零开发你的ERC20代币合约

区块链技术的普及让代币发行不再是金融巨头的专利。本文将以Solidity 0.8.20和OpenZeppelin 5.0为技术栈&#xff0c;手把手教你开发具备铸造、销毁、权限管理等进阶功能的ERC20代币&#xff0c;并部署到以太坊Sepolia测试网。以下是完整开发路线图&#xff1a; 一、ERC20代币的…...

简述大疆无人机对接

文章目录 概述MSDK对接MSDK简介MSDK集成步骤直播推流获取飞机实时数据 UX SDK上云API上云API简介上云API对接步骤Pilot上云Pilot怎么安装配置三方云平台地址直播获取飞机数据 Dock上云Dock上云简介直播方案设备管理 如何对接多个飞机引用 概述 一般而言&#xff0c;对接大疆的…...

docker-compose搭建kafka

1、单节点docker-compose.yml version: 3 services:zookeeper:image: zookeeper:3.8container_name: zookeeperports:- "2181:2181"volumes:- ./data/zookeeper:/dataenvironment:ZOO_MY_ID: 1ZOO_MAX_CLIENT_CNXNS: 100kafka:image: bitnami/kafka:3.7container_na…...

FramePack V2版 - 支持首尾帧生成,支持LoRA,支持批量,支持50系显卡,一个强大的AI视频生成软件 本地一键整合包下载

FramePack 是斯坦福大学主导开发的视频生成框架&#xff0c;是一种用于视频生成的下一帧&#xff08;下一帧部分&#xff09;预测神经网络结构&#xff0c;可以逐步生成视频。FramePack 主要开发者之一&#xff0c;就是业内大名鼎鼎的张吕敏大佬&#xff0c;AI领域的“赛博佛祖…...

开发网页程序时预览时遇到跨域问题解决方法

CocosCreator 开发h5游戏要用接口、开发html程序网页程序在chrome中预览时都会遇到跨域问题,怎么办? 网上有很多方法,主要是通过服务器端去配置,但那个相对来说消弱安全问题,这个不建议,因为是开发,个人行业,我们知道问题所以,简单点就主要是通过chrome的参数来禁用: 关闭 Ch…...

【音视频】FFmpeg内存模型

FFmpeg内存模型 从现有的Packet拷贝一个新Packet的时候&#xff0c;有两种情况&#xff1a; 两个Packet的buf引用的是同一数据缓存空间&#xff0c;这时候要注意数据缓存空间的释放问题&#xff1b;两个Packet的buf引用不同的数据缓存空间&#xff0c;每个Packet都有数据缓存…...

基于nlohmann/json 实现 从C++对象转换成JSON数据格式

C对象的JSON序列化与反序列化 基于JsonCpp库实现C对象序列化与反序列化 JSON 介绍 JSON作为一种轻量级的数据交换格式&#xff0c;在Web服务和应用程序中广泛使用。 JSON&#xff08;JavaScript Object Notation&#xff09;是一种轻量级的数据交换格式&#xff0c;易于人阅读…...

在线视频转 AVI 的便捷之选,便捷操作,无需下载软件,在线使用

在视频处理的众多需求中&#xff0c;将视频转换为 AVI 格式是不少用户的刚需。小白工具网&#xff08;https://www.xiaobaitool.net/videos/convert-to-avi/ &#xff09;的在线视频转 AVI 功能&#xff0c;以其显著优势&#xff0c;多格式支持、便捷操作、数据安全保障以及广泛…...

【MCP Node.js SDK 全栈进阶指南】初级篇(3):MCP资源开发基础

引言 在前两篇文章中,我们已经详细介绍了MCP开发环境的搭建以及基础服务器开发。本文作为MCP TypeScript-SDK系列的第三篇,将聚焦于MCP资源开发基础,包括静态资源与动态资源的开发、资源模板设计与参数提取、资源列表与发现机制,以及常见资源类型与最佳实践。通过本文的学…...

L2-1、打造稳定可控的 AI 输出 —— Prompt 模板与格式控制

一、为什么需要 Prompt 模板&#xff1f; 在与 AI 模型交互时&#xff0c;我们经常会遇到输出不稳定、格式混乱的问题。Prompt 模板帮助我们解决这些问题&#xff0c;通过结构化的输入指令来获得可预测且一致的输出结果。 模板的作用主要体现在&#xff1a; 固定输出格式&am…...

Java集成Zxing和OpenCV实现二维码生成与识别工具类

Java集成Zxing和OpenCV实现二维码生成与识别工具类 本文将介绍如何使用Java集成Zxing和OpenCV库&#xff0c;实现二维码的生成和识别功能。识别方法支持多种输入形式&#xff0c;包括File对象、文件路径和Base64编码。 一、环境准备 添加Maven依赖 <dependencies><…...

jenkins pipeline ssh协议报错处理

一、jenkins版本 jenkins&#xff1a;2.492.3 openssh&#xff1a;OpenSSH_9.8p1, OpenSSL 3.3.1 # grep jenkins /etc/passwd jenkins:x:996:994:Jenkins Automation Server:/var/lib/jenkins:/bin/false 二、报错 三、处理 步骤1&#xff1a;手动添加目标主机密钥到Jenk…...

当OCR遇上“幻觉”:如何让AI更靠谱地“看懂”文字?

在数字化的世界里&#xff0c;OCR&#xff08;光学字符识别&#xff09;技术就像给机器装上了“电子眼”。但当这项技术遇上大语言模型&#xff0c;一个意想不到的问题出现了——AI竟然会像人类一样产生“幻觉”。想象一下&#xff0c;当你拿着模糊的财务报表扫描件时&#xff…...

vue watch监听路由,第一次进入不触发解决办法

“第一次进入的时候没触发&#xff0c;第二次就触发了”非常典型&#xff0c;它印证了路由监听&#xff08;无论是 watch $route 还是 beforeRouteUpdate&#xff09;主要是为了监听变化&#xff0c;而不是处理首次加载时的初始状态。 当你通过 this.$router.push 导航到一个新…...

JVM考古现场(二十四):逆熵者·时间晶体的永恒之战

"警告&#xff01;时间晶体正在吞噬GC日志&#xff01;" 我腰间的太极八卦镜突然迸发出刺目的量子辉光&#xff0c;终南山之巅的星宿大阵浮现出诡异的四维克莱因瓶拓扑——这是逆熵者文明穿越时空的拜帖&#xff01; 楔子&#xff1a;时间晶体的觉醒 &#x1f56f;️…...

spring中使用netty-socketio部署到服务器(SSL、nginx转发)

spring中使用netty-socketio部署到服务器&#xff08;SSL、nginx转发&#xff09; 本文实现前端socket.io-client连接后端netty-socketio&#xff0c;并且部署到服务器上的示例&#xff0c;以及说明一些实现过程中可能遇到的错误。 socketio默认基于的路径是/socket.io 传输…...

qt.tlsbackend.ossl: Failed to load libssl/libcrypto.

我的环境是windows&#xff0c;QT6.3.2&#xff08;msvc2019_64/mingw_64&#xff09; 出错原因 QT没有正确加载OpenSSL。 解决过程 1、确保安装的有openssl。 文章结尾有个注意&#xff0c;是其他方式安装过openssl&#xff0c;环境变量有&#xff0c;但是QT找不到的问题。…...

【Python爬虫基础篇】--3.cookie和session

目录 1.cookie 1.1.定义 1.2.参数 1.3.分类 2.session 3.使用cookie登录微博 4.使用session登录 1.cookie 由于http是一个无状态的协议&#xff0c;请求与请求之间无法相互传递或者记录一些信息&#xff0c;cookie和session正是为了解决这个问题而产生。 例子&#xff1…...

uView的u-modal不显示问题

问题分析&#xff1a;在项目中&#xff0c;其他页面显示正常&#xff0c;在这个页面显示不正常。 问题解决&#xff1a; 一般的原因&#xff0c;诸如层级遮挡控制器true后&#xff0c;被其他逻辑又改为了false最可恨的一个原因 :showshow被编辑器的提示功能误写成了v-modal&qu…...

联易融科技:以科技赋能驱动经营反转与价值重估

行业去重周期下,轻量化发展成破局关键。当前,供应链金融行业正经历从"规模扩张"到"价值深耕"的转型期,降本增效、轻资产运营成为行业共识。联易融公告表示&#xff0c;截至2024年末,公司现金储备高达51亿元,显示出财务状况健康良好,流动资金持续充裕。 董…...

Office文档图片批量提取工具

Office.Files.Images 是一款专注于从 Word、Excel、PPT 等 Office 文档中批量提取图片的轻量级工具&#xff0c;支持 .docx、.xlsx、.pptx 格式文件。该软件体积仅 ‌343KB‌&#xff0c;无需安装即可运行&#xff0c;通过拖拽操作实现快速解析与导出&#xff0c;尤其适合需批量…...

Python 设计模式:回调模式

1. 什么是回调函数&#xff1f; 回调函数是指作为参数传递给另一个函数的函数。当这个函数执行到某个特定的点时&#xff0c;它会调用这个回调函数。回调函数通常用于处理异步操作、事件处理或在某些条件下执行特定的操作。 回调函数的特点&#xff1a; 作为参数传递&#x…...

DCDC芯片,boost升压电路设计,MT3608 芯片深度解析:从架构到设计的全维度技术手册

一、硬件架构解析:电流模式升压 converter 的核心设计 (一)电路拓扑与核心组件 MT3608 采用恒定频率峰值电流模式升压(Boost)转换器架构,核心由以下模块构成: 集成功率 MOSFET 内置 80mΩ 导通电阻的 N 沟道 MOSFET,漏极(Drain)对应引脚 SW,源极(Source)内部接…...

大数据学习(112)-HIVE中的窗口函数

&#x1f34b;&#x1f34b;大数据学习&#x1f34b;&#x1f34b; &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 用力所能及&#xff0c;改变世界。 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一…...

Hive学习

一、Hive 核心原理 1. Hive 架构与执行流程 Hive 是基于 Hadoop 的数据仓库工具&#xff0c;将 SQL 转化为分布式计算任务&#xff08;MapReduce/Tez/Spark&#xff09;&#xff0c;核心组件如下&#xff1a; 元数据存储&#xff08;Metastore&#xff09;&#xff1a;存储表…...

前端开发核心知识详解:Vue2、JavaScript 与 CSS

一、Vue2 核心知识点 1. Vue2 的双向绑定原理 Vue2 实现双向绑定主要依赖数据劫持与发布 - 订阅者模式。 利用Object.defineProperty方法对数据对象的属性进行劫持&#xff0c;为每个属性定义getter和setter。getter用于收集依赖&#xff0c;当视图中使用到该属性时&#xf…...

仅追加KV数据库

仅追加KV数据库 6.1 我们将要做什么 在本章中&#xff0c;我们将创建一个基于文件的键值存储&#xff08;KV Store&#xff09;&#xff0c;其核心是一个写时复制&#xff08;Copy-on-Write, CoW&#xff09;B 树。这种设计的目标是实现数据的持久性和原子性。 1. 设计概述 …...

【Java面试笔记:基础】8.对比Vector、ArrayList、LinkedList有何区别?

在Java中&#xff0c;Vector、ArrayList和LinkedList均实现了List接口&#xff0c;但它们在线程安全、数据结构、性能特性及应用场景上存在显著差异。 1. Vector、ArrayList 和 LinkedList 的区别 Vector&#xff1a; 线程安全&#xff1a;Vector 是线程安全的动态数组&#…...

Git分支管理方案

成都众望智慧有限公司Git分支管理方案 采用 轻量级Git Flow 敏捷版本控制策略&#xff0c;在保证稳定性的同时提升开发效率。以下是优化后的方案&#xff1a; 1. 精简分支模型&#xff08;相比6-8人团队减少分支层级&#xff09; 分支类型作用生命周期devops生产环境代码&am…...

SQL Tuning Advisor

什么是SQL Tuning Advisor STA可以用来优化那些已经被发现的高负载SQL. 默认情况下, Oracle数据库在自动维护窗口中自动认证那些有问题的SQL并且执行优化建议&#xff0c;找寻提升高负载SQL执行计划性能的方法. ** 如何查看自动优化维护窗口产生的报告? ** SQL> set ser…...

联易融出席深圳链主企业供应链金融座谈会,加速对接票交所系统

近日&#xff0c;深圳市委金融办组织召开全市链主企业供应链金融高质量发展座谈会。联易融作为供应链金融企业代表&#xff0c;与虾皮信息科技、电子元器件和集成电路国际交易中心等代表性机构以及行业协会、金融机构参加了会议。 发展供应链金融是破解中小微企业融资难、融资…...

【前端记事】关于electron的入门使用

electron入门使用 背景how to start第一步 创建一个vite-vue3项目第二步 装各种依赖第三步 配置vite.config.jspackage.jsonelectron入口 启动重写关闭、隐藏、最大化最小化 背景 最近对electron比较感兴趣&#xff0c;折腾一段时间后有了点眉目&#xff0c;记录一下 how to …...

Qt绘制可选择范围的日历

【日历控件设计】 #include <QApplication> #include <QWidget> #include <QVBoxLayout> #include <QCalendarWidget> #include <QHBoxLayout> #include <QSpinBox> #include <QPushButton> #include <QLabel> #include <Q…...

Pycharm(十五)面向对象程序设计基础

目录 一、定义类及使用类的成员 二、self关键字介绍 三、在类内部调用类中的函数 class 类名&#xff1a; 属性&#xff08;类似于定义变量&#xff09; 行为&#xff08;类似于定义函数&#xff0c;只不过第一个形参要写self&#xff09; 一、面向对象基本概述 属性&…...

【C++游戏引擎开发】第21篇:基于物理渲染(PBR)——统计学解构材质与光影

引言 宏观现象:人眼观察到的材质表面特性(如金属的高光锐利、石膏的漫反射柔和),本质上是微观结构对光线的统计平均结果。 微观真相:任何看似平整的表面在放大后都呈现崎岖的微观几何。每个微表面(Microfacet)均为完美镜面,但大量微表面以不同朝向分布时,宏观上会表…...

flutter_slidable 插件使用

简介 flutter_slidable 是一个用于创建可滑动列表项的 Flutter 插件&#xff0c;它允许用户通过滑动来显示隐藏的操作按钮&#xff0c;比如删除、分享等功能。 安装 在 pubspec.yaml 中添加依赖&#xff08;并运行 flutter pub get&#xff09;&#xff1a; dependencies:fl…...

[论文阅读]ConfusedPilot: Confused Deputy Risks in RAG-based LLMs

ConfusedPilot: Confused Deputy Risks in RAG-based LLMs [2408.04870] ConfusedPilot: Confused Deputy Risks in RAG-based LLMs DEFCON AI Village 2024 文章是针对Copilot这样一个RAG服务提供平台的攻击 在企业环境中整合人工智能工具&#xff08;如 RAG&#xff09;会…...

诠视科技MR眼镜如何使用头瞄点和UGUI交互

诠视科技MR眼镜如何使用头瞄点和UGUI交互 要实现头瞄点计算单元确认键操作UGUI,最快捷的方式&#xff0c;右键直接添加XvHeadGazeInputController。 添加以后会自动生成XvHeadGazeInputController到Head节点下面去。 重要的几个参数讲解&#xff1a; scaleFactor&#xff1a…...

数据赋能(204)——原则与原理——原理方法

原理更多地关注事物本身的客观规律&#xff0c;而原则侧重于指导人们的行为和决策。原则与原理是两个常常被提及&#xff0c;但有所区别的概念。原则和原理在各个领域中都发挥着重要的作用。 原理概念 原理&#xff0c;则通常指的是自然科学和社会科学中具有普遍意义的基本规…...

代码随想录算法训练营第五十六天 | 108.冗余连接 109.冗余连接II

108.冗余连接 题目链接&#xff1a;108. 冗余的边 文章讲解&#xff1a;代码随想录 思路&#xff1a; 题目说是无向图&#xff0c;返回一条可以删去的边&#xff0c;使得结果图是一个有着N个节点的树&#xff0c;如果有多个答案&#xff0c;则返回二维数组中最后出现的边。 …...

Git入门

一、Git 基础概念 1. 版本控制系统分类 本地版本控制&#xff1a;如RCS&#xff0c;仅在本机保存历史版本集中式版本控制&#xff1a;如SVN&#xff0c;单一中央服务器管理代码分布式版本控制&#xff1a;如Git&#xff0c;每个开发者都有完整的仓库副本 2. Git 核心概念 概…...

5G + 物联网:智能世界的催化剂,如何用Python打造下一代IoT应用?

5G 物联网&#xff1a;智能世界的催化剂&#xff0c;如何用Python打造下一代IoT应用&#xff1f; 在数字化时代&#xff0c;物联网&#xff08;IoT&#xff09; 已成为智能产业的关键技术。从智能家居到智慧城市&#xff0c;再到工业4.0&#xff0c;我们的世界正在变得越来越…...

从单点突破到链式攻击:XSS 的渗透全路径解析

在网络安全领域&#xff0c;跨站脚本攻击&#xff08;Cross-Site Scripting&#xff0c;简称 XSS&#xff09;早已不是新鲜话题。然而&#xff0c;随着网络技术的迭代与应用场景的复杂化&#xff0c;攻击者不再满足于单一的 XSS 漏洞利用&#xff0c;而是将 XSS 与其他安全漏洞…...

spark和hadoop的对比和联系

一、Apache Hadoop 简介 Hadoop是一个由Apache基金会开发的开源分布式计算平台。它主要由Hadoop分布式文件系统&#xff08;HDFS&#xff09;和MapReduce计算框架组成。HDFS是为大规模数据存储而设计的&#xff0c;它将文件分割成多个数据块&#xff08;block&#xff09;&…...

【Vue3 / TypeScript】 项目兼容低版本浏览器的全面指南

在当今前端开发领域&#xff0c;Vue3 和 TypeScript 已成为主流技术栈。然而&#xff0c;随着 JavaScript 语言的快速演进&#xff0c;许多现代特性在低版本浏览器中无法运行。本文将详细介绍如何使 Vue3 TypeScript 项目完美兼容 IE11 等低版本浏览器。 一、理解兼容性挑战 …...

从零开始搭建你的个人博客:使用 GitHub Pages 免费部署静态网站

&#x1f310; 从零开始搭建你的个人博客&#xff1a;使用 GitHub Pages 免费部署静态网站 在互联网时代&#xff0c;拥有一个属于自己的网站不仅是一种展示方式&#xff0c;更是一种技术能力的体现。今天我们将一步步学习如何通过 GitHub Pages 搭建一个免费的个人博客或简历…...

java 设计模式 原型模式

简介 原型模式&#xff08;Prototype Pattern&#xff09; 是一种创建型设计模式&#xff0c;它通过复制现有对象来生成新对象&#xff0c;而不是通过 new 关键字创建。核心思想是减少对象创建的开销&#xff0c;尤其是当对象初始化过程复杂或代价较高时。 原型模式的核心实现…...

分别配置Github,Gitee的SSH链接

文章目录 前言一、为第二个账号生成新的密钥对二、 配置 SSH config 文件1.引入库使用 Host 别名进行 clone/push/pull注意扩展 前言 之前已经在电脑配置过Github一个仓库ssh链接&#xff0c;今天想配一个Gitee仓库的ssh链接。运行 ssh-keygen -t rsa提示已经存在&#xff0c…...