第一部分:基础知识 6. 函数 --[MySQL轻松入门教程]
MySQL 提供了丰富的内置函数,涵盖了字符串处理、数值计算、日期时间操作、聚合分析以及控制流等多个方面。这些函数可以帮助用户更高效地进行数据查询和处理。
1.字符串函数
MySQL 提供了丰富的字符串函数来帮助用户处理和操作字符串数据。下面是一些常用的 MySQL 字符串函数及其简要说明:
-
CONCAT(str1, str2, ...)
- 将多个字符串连接成一个字符串。
- 示例:
SELECT CONCAT('Hello', ' ', 'World') AS greeting;
-
CONCAT_WS(separator, str1, str2, ...)
- 使用指定的分隔符将多个字符串连接起来。
- 示例:
SELECT CONCAT_WS(', ', 'Apple', 'Banana', 'Orange');
-
INSERT(str, pos, len, newstr)
- 在给定位置开始,用
newstr
替换str
中长度为len
的子串。 - 示例:
SELECT INSERT('abcdefg', 2, 3, 'xyz');
- 在给定位置开始,用
-
LOWER(str)
或LCASE(str)
- 将字符串转换为小写。
- 示例:
SELECT LOWER('HELLO WORLD');
-
UPPER(str)
或UCASE(str)
- 将字符串转换为大写。
- 示例:
SELECT UPPER('hello world');
-
LEFT(str, len)
- 返回字符串最左边的
len
个字符。 - 示例:
SELECT LEFT('hello', 2);
- 返回字符串最左边的
-
RIGHT(str, len)
- 返回字符串最右边的
len
个字符。 - 示例:
SELECT RIGHT('hello', 3);
- 返回字符串最右边的
-
SUBSTRING(str, pos, len)
或SUBSTR(str, pos, len)
- 从位置
pos
开始提取长度为len
的子串。 - 示例:
SELECT SUBSTRING('hello', 2, 3);
- 从位置
-
REPLACE(str, from_str, to_str)
- 将字符串
str
中的所有from_str
替换为to_str
。 - 示例:
SELECT REPLACE('www.mysql.com', 'w', 'Ww');
- 将字符串
-
TRIM([{BOTH | LEADING | TRAILING} [remstr] FROM] str)
- 移除字符串开头、结尾或两边的指定字符(默认为空格)。
- 示例:
SELECT TRIM(' hello ');
-
REVERSE(str)
- 反转字符串。
- 示例:
SELECT REVERSE('hello');
-
LENGTH(str)
- 返回字符串的字节长度。
- 示例:
SELECT LENGTH('你好');
(注意中文字符在某些字符集下可能占多字节)
-
CHAR_LENGTH(str)
- 返回字符串的字符数。
- 示例:
SELECT CHAR_LENGTH('你好');
-
LOCATE(substr, str[, pos])
或POSITION(substr IN str)
- 返回子串
substr
在字符串str
中第一次出现的位置。 - 示例:
SELECT LOCATE('bar', 'foobarbar');
- 返回子串
-
INSTR(str, substr)
- 返回子串
substr
在字符串str
中第一次出现的位置。 - 示例:
SELECT INSTR('foobarbar', 'bar');
- 返回子串
这些函数可以帮助你执行各种字符串处理任务,如文本格式化、搜索、替换等。根据你的具体需求,选择合适的函数可以极大地简化查询和数据处理工作。
2.数值函数
MySQL 提供了一系列数值函数,用于执行数学计算和处理数值数据。以下是一些常用的 MySQL 数值函数及其简要说明:
-
ABS(X)
- 返回
X
的绝对值。 - 示例:
SELECT ABS(-32);
- 返回
-
CEIL(X)
或CEILING(X)
- 返回不小于
X
的最小整数值。 - 示例:
SELECT CEIL(1.23);
- 返回不小于
-
FLOOR(X)
- 返回不大于
X
的最大整数值。 - 示例:
SELECT FLOOR(1.89);
- 返回不大于
-
ROUND(X[, D])
- 返回参数
X
四舍五入后的值,可选参数D
指定保留的小数位数。 - 示例:
SELECT ROUND(1.298, 1);
- 返回参数
-
TRUNCATE(X, D)
- 返回数字
X
截断为D
小数位的结果。如果D
是负数,则截断(归零)在小数点左侧。 - 示例:
SELECT TRUNCATE(1.999, 1);
- 返回数字
-
MOD(N, M)
或者使用%
运算符- 返回
N
被M
除后的余数。 - 示例:
SELECT MOD(29, 3);
或SELECT 29 % 3;
- 返回
-
POW(X, Y)
或POWER(X, Y)
- 返回
X
的Y
次幂。 - 示例:
SELECT POW(2, 3);
- 返回
-
SQRT(X)
- 返回非负数
X
的平方根。 - 示例:
SELECT SQRT(16);
- 返回非负数
-
RAND()
和RAND(N)
- 返回一个0到1之间的随机浮点值。
RAND(N)
使用N
作为种子值。 - 示例:
SELECT RAND();
- 返回一个0到1之间的随机浮点值。
-
SIGN(X)
- 返回参数
X
的符号,-1、0 或 1(负数、零或正数)。 - 示例:
SELECT SIGN(-320);
- 返回参数
-
CONV(N, from_base, to_base)
- 在不同数制之间转换数字
N
。from_base
和to_base
是基数,范围是2到36。 - 示例:
SELECT CONV('A', 16, 10);
(将十六进制的 ‘A’ 转换为十进制)
- 在不同数制之间转换数字
-
PI()
- 返回圆周率 π 的值。
- 示例:
SELECT PI();
-
EXP(X)
- 返回 e 的
X
次幂 (e^X)。 - 示例:
SELECT EXP(1);
- 返回 e 的
-
LOG(B, X)
或LOG(X)
- 如果指定两个参数,则返回以
B
为底X
的对数;如果只有一个参数,则返回自然对数。 - 示例:
SELECT LOG(2, 8);
- 如果指定两个参数,则返回以
-
LOG2(X)
- 返回
X
的以2为底的对数。 - 示例:
SELECT LOG2(8);
- 返回
-
LOG10(X)
- 返回
X
的以10为底的对数。 - 示例:
SELECT LOG10(100);
- 返回
这些数值函数可以用来执行各种数学运算,从简单的四则运算到更复杂的数学问题求解。根据你的具体需求选择适当的函数可以帮助你有效地进行数值数据的处理和分析。
3.日期和时间函数
MySQL 提供了多种日期和时间函数,用于处理日期时间数据。以下是一些常用的 MySQL 日期和时间函数及其简要说明:
-
NOW()
或CURRENT_TIMESTAMP
- 返回当前的日期和时间。
- 示例:
SELECT NOW();
-
CURDATE()
或CURRENT_DATE
- 返回当前日期。
- 示例:
SELECT CURDATE();
-
CURTIME()
或CURRENT_TIME
- 返回当前时间。
- 示例:
SELECT CURTIME();
-
DATE(expr)
- 提取日期部分。
- 示例:
SELECT DATE('2024-06-15 09:30:25');
-
TIME(expr)
- 提取时间部分。
- 示例:
SELECT TIME('2024-06-15 09:30:25');
-
YEAR(date)
,MONTH(date)
,DAY(date)
等- 分别提取给定日期中的年份、月份、日等。
- 示例:
SELECT YEAR('2024-06-15'), MONTH('2024-06-15'), DAY('2024-06-15');
-
HOUR(time)
,MINUTE(time)
,SECOND(time)
等- 分别提取给定时间中的小时、分钟、秒等。
- 示例:
SELECT HOUR('09:30:25'), MINUTE('09:30:25'), SECOND('09:30:25');
-
DATEDIFF(expr1, expr2)
- 计算两个日期之间的天数差。
- 示例:
SELECT DATEDIFF('2024-06-15', '2024-06-01');
-
TIMEDIFF(expr1, expr2)
- 计算两个时间值或日期时间值之间的时间差。
- 示例:
SELECT TIMEDIFF('10:05:30', '09:00:00');
-
ADDDATE(date, INTERVAL expr unit)
和DATE_ADD(date, INTERVAL expr unit)
- 向日期添加指定的时间间隔。
- 示例:
SELECT ADDDATE('2024-06-15', INTERVAL 10 DAY);
-
SUBDATE(date, INTERVAL expr unit)
和DATE_SUB(date, INTERVAL expr unit)
- 从日期减去指定的时间间隔。
- 示例:
SELECT SUBDATE('2024-06-15', INTERVAL 10 DAY);
-
STR_TO_DATE(str, format)
- 按照指定格式将字符串转换为日期。
- 示例:
SELECT STR_TO_DATE('15/06/2024', '%d/%m/%Y');
-
DATE_FORMAT(date, format)
- 根据指定的格式格式化日期或时间值。
- 示例:
SELECT DATE_FORMAT('2024-06-15 09:30:25', '%W %M %Y');
-
UNIX_TIMESTAMP([date])
和FROM_UNIXTIME(unix_timestamp[, format])
UNIX_TIMESTAMP
将日期时间转换为 Unix 时间戳(自1970-01-01以来的秒数),而FROM_UNIXTIME
则是反向操作。- 示例:
SELECT UNIX_TIMESTAMP('2024-06-15 09:30:25');
- 示例:
SELECT FROM_UNIXTIME(1718676625, '%Y-%m-%d %H:%i:%s');
-
PERIOD_ADD(P, N)
和PERIOD_DIFF(P1, P2)
PERIOD_ADD
向表示为YYMM或YYYYMM的时期P
添加N
个月。PERIOD_DIFF
计算两个表示为YYMM或YYYYMM的时期之间的月份数差异。- 示例:
SELECT PERIOD_ADD(202406, 5);
- 示例:
SELECT PERIOD_DIFF(202406, 202306);
这些日期和时间函数可以帮助你执行各种与时间相关的计算和操作,如日期间的计算、日期格式化、日期时间的增减等。根据你的具体需求选择适当的函数可以让你更高效地处理日期时间数据。
4.聚合函数
MySQL 提供了多种聚合函数,用于对数据集进行统计分析。这些函数可以用来计算一组值的总和、平均数、计数等。以下是 MySQL 中常用的聚合函数及其简要说明:
-
COUNT([DISTINCT] expr)
- 计算行数或非空表达式的数量。
COUNT(*)
计算所有行的数量,包括NULL值。COUNT(expr)
计算expr
非NULL结果的数量。COUNT(DISTINCT expr)
计算expr
不同非NULL结果的数量。- 示例:
SELECT COUNT(*) FROM orders;
- 示例:
SELECT COUNT(order_id) FROM orders;
- 示例:
SELECT COUNT(DISTINCT customer_id) FROM orders;
-
SUM([DISTINCT] expr)
- 返回给定列中所有数值的总和。
- 如果列中有NULL,则忽略它们。
DISTINCT
可选参数确保只考虑不同的值。- 示例:
SELECT SUM(amount) FROM sales;
- 示例:
SELECT SUM(DISTINCT amount) FROM sales;
-
AVG([DISTINCT] expr)
- 返回给定列中所有数值的平均值。
- 忽略NULL值。
DISTINCT
可选参数确保只考虑不同的值。- 示例:
SELECT AVG(price) FROM products;
- 示例:
SELECT AVG(DISTINCT price) FROM products;
-
MAX([DISTINCT] expr)
- 返回给定列中的最大值。
- 对于字符类型,它返回按字母顺序最后的值。
DISTINCT
参数是可选的,并且通常不使用,因为它不影响结果。- 示例:
SELECT MAX(salary) FROM employees;
-
MIN([DISTINCT] expr)
- 返回给定列中的最小值。
- 对于字符类型,它返回按字母顺序最先的值。
DISTINCT
参数是可选的,并且通常不使用,因为它不影响结果。- 示例:
SELECT MIN(salary) FROM employees;
-
GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [ASC | DESC] [,col_name ...]] [SEPARATOR str_val])
- 将多行字符串连接成一个字符串结果,常用于分组查询。
- 可以指定排序和分隔符。
- 示例:
SELECT GROUP_CONCAT(name SEPARATOR ', ') FROM users GROUP BY department;
-
BIT_AND(expr)
- 返回给定集合中所有位的按位与操作的结果。
- 示例:
SELECT BIT_AND(flags) FROM settings;
-
BIT_OR(expr)
- 返回给定集合中所有位的按位或操作的结果。
- 示例:
SELECT BIT_OR(flags) FROM settings;
-
BIT_XOR(expr)
- 返回给定集合中所有位的按位异或操作的结果。
- 示例:
SELECT BIT_XOR(flags) FROM settings;
-
STDDEV_POP(expr)
和STDDEV_SAMP(expr)
- 分别计算总体标准差(
STDDEV_POP
)和样本标准差(STDDEV_SAMP
)。 - 示例:
SELECT STDDEV_POP(score) FROM students;
- 分别计算总体标准差(
-
VAR_POP(expr)
和VAR_SAMP(expr)
- 分别计算总体方差(
VAR_POP
)和样本方差(VAR_SAMP
)。 - 示例:
SELECT VAR_SAMP(score) FROM students;
- 分别计算总体方差(
这些聚合函数通常与 GROUP BY
语句一起使用,以便对数据进行分组并为每个组计算汇总信息。通过组合使用这些函数,你可以执行复杂的数据分析任务,从简单的统计到更高级的数据挖掘。
5.控制流函数
MySQL 提供了一些控制流函数,这些函数允许你在 SQL 查询中实现条件逻辑。这使得你可以根据不同的条件执行不同的操作或返回不同的结果。以下是 MySQL 中常用的控制流函数及其简要说明:
-
IF(expr, true_val, false_val)
- 如果
expr
为真(非零且非NULL),则返回true_val
;否则返回false_val
。 - 示例:
SELECT IF(1 > 2, 'Yes', 'No');
- 如果
-
CASE
表达式-
CASE
可以有两种形式:-
简单
CASE
:将表达式与多个值进行比较。CASE exprWHEN val1 THEN result1[WHEN val2 THEN result2 ...][ELSE else_result] END
-
搜索
CASE
:检查多个条件。CASEWHEN condition1 THEN result1[WHEN condition2 THEN result2 ...][ELSE else_result] END
-
-
示例:
SELECT CASE WHEN age < 18 THEN 'Minor' ELSE 'Adult' END AS status FROM persons;
-
-
IFNULL(expr1, expr2)
- 如果
expr1
不是 NULL,则返回expr1
;否则返回expr2
。 - 示例:
SELECT IFNULL(NULL, 'Default Value');
- 如果
-
NULLIF(expr1, expr2)
- 如果
expr1 = expr2
,则返回 NULL;否则返回expr1
。 - 这个函数对于防止除以0错误等情况非常有用。
- 示例:
SELECT NULLIF(1, 1);
返回 NULL。
- 如果
-
COALESCE(expr1, expr2, ..., exprN)
- 返回第一个非 NULL 的表达式的值。如果所有参数都是 NULL,则返回 NULL。
- 示例:
SELECT COALESCE(NULL, NULL, 'Third Value', 'Fourth Value');
-
ELT(N, str1, str2, ...)
- 返回给定索引
N
对应的字符串。如果N
是 1,则返回str1
,依此类推。 - 示例:
SELECT ELT(2, 'apple', 'banana', 'orange');
返回 ‘banana’。
- 返回给定索引
-
FIELD(str, str1, str2, ...)
- 返回
str
在列表中的位置。如果没有找到,则返回 0。 - 示例:
SELECT FIELD('banana', 'apple', 'banana', 'orange');
返回 2。
- 返回
-
GREATEST(val1, val2, ...)
和LEAST(val1, val2, ...)
- 分别返回输入值中的最大值和最小值。
- 示例:
SELECT GREATEST(1, 2, 3);
返回 3。 - 示例:
SELECT LEAST(1, 2, 3);
返回 1。
这些控制流函数可以在查询中用来创建更复杂的逻辑判断,并且可以根据数据的具体情况来决定返回什么样的结果。它们经常用于 SELECT 查询、触发器和存储过程中,以便于处理复杂的数据逻辑和业务规则。
相关文章:
第一部分:基础知识 6. 函数 --[MySQL轻松入门教程]
MySQL 提供了丰富的内置函数,涵盖了字符串处理、数值计算、日期时间操作、聚合分析以及控制流等多个方面。这些函数可以帮助用户更高效地进行数据查询和处理。 1.字符串函数 MySQL 提供了丰富的字符串函数来帮助用户处理和操作字符串数据。下面是一些常用的 MySQL…...
【蓝桥杯每日一题】扫雷
扫雷 知识点 2024-12-3 蓝桥杯每日一题 扫雷 dfs (bfs也是可行的) 题目大意 在一个二维平面上放置这N个炸雷,每个炸雷的信息有$(x_i,y_i,r_i) $,前两个是坐标信息,第三个是爆炸半径。然后会输入M个排雷火箭࿰…...

【算法】棋盘覆盖问题源代码及精简版
目录 一、题目 二、样例 三、示例代码 四、精简代码 五、总结 对于棋盘覆盖问题的解答和优化。 一、题目 输入格式: 第一行,一个整数n(棋盘n*n,n确保是2的幂次,n<64) 第二行,两个整数…...
Django的介绍
Django是一个高级的Python Web框架,它鼓励快速开发和干净、实用的设计。Django遵循MVC设计模式,即模型(Model)、视图(View)和控制器(Controller),并提供了一个即时可用的…...

【Spring工具插件】lombok使用和EditStarter插件
阿华代码,不是逆风,就是我疯 你们的点赞收藏是我前进最大的动力!! 希望本文内容能够帮助到你!! 目录 引入 一:lombok介绍 1:引入依赖 2:使用 3:原理 4&…...

掌控时间,成就更好的自己
在个人成长的道路上,时间管理是至关重要的一环。有效的时间管理能够让我们更加高效地完成任务,实现自己的目标,不断提升自我。 时间对每个人都是公平的,一天只有 24 小时。然而,为什么有些人能够在有限的时间里做出卓…...
Ruby On Rails 笔记2——表的基本知识
Active Record Basics — Ruby on Rails Guides Active Record Migrations — Ruby on Rails Guides 原文链接自取 1.Active Record是什么? Active Record是MVC模式中M的一部分,是负责展示数据和业务逻辑的一层,可以帮助你创建和使用Ruby…...

【AI系统】EfficientNet 系列
EfficientNet 系列 本文主要介绍 EffiicientNet 系列,在之前的文章中,一般都是单独增加图像分辨率或增加网络深度或单独增加网络的宽度,来提高网络的准确率。而在 EfficientNet 系列论文中,会介绍使用网络搜索技术(NAS)去同时探索…...
【Python小白|Python内置函数学习2】Python有哪些内置函数?不需要导入任何模块就可以直接使用的!现在用Python写代码的人还多吗?
【Python小白|Python内置函数学习2】Python有哪些内置函数?不需要导入任何模块就可以直接使用的!现在用Python写代码的人还多吗? 【Python小白|Python内置函数学习2】Python有哪些内置函数?不需要导入任何模块就可以直接使用的&a…...
蓝桥杯分治
P1226 【模板】快速幂 题目描述 给你三个整数 𝑎,𝑏,𝑝a,b,p,求 𝑎𝑏 mod 𝑝abmodp。 输入格式 输入只有一行三个整数,分别代表 𝑎,𝑏,𝑝a,b,p。…...

YOLOv8实战无人机视角目标检测
本文采用YOLOv8作为核心算法框架,结合PyQt5构建用户界面,使用Python3进行开发。YOLOv8以其高效的实时检测能力,在多个目标检测任务中展现出卓越性能。本研究针对无人机目标数据集进行训练和优化,该数据集包含丰富的无人机目标图像…...
三、【docker】docker和docker-compose的常用命令
文章目录 一、docker常用命令1、镜像管理2、容器管理3、容器监控和调试4、网络管理5、数据卷管理6、系统维护7、实用组合命令8、常用技巧二、docker-compose常用命令1、基本命令2、构建相关3、运行维护4、常用组合命令5、实用参数 一、docker常用命令 1、镜像管理 # 查看本地…...

Qt 2D绘图之五:图形视图框架的结构、坐标系统和框架间的事件处理与传播
参考文章链接: Qt 2D绘图之五:图形视图框架的结构和坐标系统 Qt 2D绘图之六:图形视图框架的事件处理与传播 图形视图框架的结构 在前面讲的基本绘图中,我们可以自己绘制各种图形,并且控制它们。但是,如果需要同时绘制很多个相同或不同的图形,并且要控制它们的移动、…...

基于SpringBoot+Vue的美妆购物网站
作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…...

MySQL之创建和管理表
目录 1. MySQL中的数据类型编辑编辑 2. 创建和管理数据库 方式1:创建数据库 方式2:创建数据库并指定字符集 方式3:判断数据库是否已经存在,不存在则创建数据库( 推荐 ) 总结 2.2 使用数据库 查看当…...

肌肉骨骼肿瘤治疗市场:潜力无限,未来可期
肌肉骨骼肿瘤治疗作为现代医学的重要分支,专注于应对骨骼和肌肉系统中的良性和恶性肿瘤。随着全球人口老龄化和生活方式的改变,肌肉骨骼疾病日益成为公共卫生的重要问题。与此同时,医疗技术的进步和患者对高质量医疗服务的需求不断推动该市场…...

QGIS 创建三维渲染动画
打开数据包中的denali工程文档,可以看到DEM图层和山体阴影图层。首先创建彩色的山体阴影效果: 接下来新建3D视图: 配置三维地图 配置后,可用鼠标中键、右侧的操作盘等进行三维旋转等操作。 接下来在三维地图中创建动画效果&#x…...

Vue生成类似于打卡页面
数据表格 <el-table :data"tableData" border height"calc(100vh - 240px)" :cell-style"cellFun"><el-table-column label"姓名" show-overflow-tooltip prop"name" align"center"/><el-table-co…...
软件工程——期末复习(2)
Part1:软件工程基本概念 软件程序文档数据 在软件工程中,软件通常被定为程序、文档和数据的集合。程序是按事先设计的功能和性能要求编写的指令序列;程序是完成指定功能的一段特定语言代码。文档是描述程序操作和使用的文档,是与…...

vxe-table 键盘操作,设置按键编辑方式,支持覆盖方式与追加方式
vxe-table 全键盘操作,按键编辑方式设置,覆盖方式与追加方式; 通过 keyboard-config.editMode 设置按键编辑方式;支持覆盖方式编辑和追加方式编辑 安装 npm install vxe-pc-ui4.3.15 vxe-table4.9.15// ... import VxeUI from v…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现
目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...
golang循环变量捕获问题
在 Go 语言中,当在循环中启动协程(goroutine)时,如果在协程闭包中直接引用循环变量,可能会遇到一个常见的陷阱 - 循环变量捕获问题。让我详细解释一下: 问题背景 看这个代码片段: fo…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...
06 Deep learning神经网络编程基础 激活函数 --吴恩达
深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
大数据治理的常见方式
大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法,以下是几种常见的治理方式: 1. 数据质量管理 核心方法: 数据校验:建立数据校验规则(格式、范围、一致性等)数据清洗&…...
深度解析云存储:概念、架构与应用实践
在数据爆炸式增长的时代,传统本地存储因容量限制、管理复杂等问题,已难以满足企业和个人的需求。云存储凭借灵活扩展、便捷访问等特性,成为数据存储领域的主流解决方案。从个人照片备份到企业核心数据管理,云存储正重塑数据存储与…...
【2D与3D SLAM中的扫描匹配算法全面解析】
引言 扫描匹配(Scan Matching)是同步定位与地图构建(SLAM)系统中的核心组件,它通过对齐连续的传感器观测数据来估计机器人的运动。本文将深入探讨2D和3D SLAM中的各种扫描匹配算法,包括数学原理、实现细节以及实际应用中的性能对比,特别关注…...

解密鸿蒙系统的隐私护城河:从权限动态管控到生物数据加密的全链路防护
摘要 本文以健康管理应用为例,展示鸿蒙系统如何通过细粒度权限控制、动态权限授予、数据隔离和加密存储四大核心机制,实现复杂场景下的用户隐私保护。我们将通过完整的权限请求流程和敏感数据处理代码,演示鸿蒙系统如何平衡功能需求与隐私安…...