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

MySQL:送分or送命 varchar(30) 与 int(10)

摘要:

VARCHAR(30) 和 INT(10) 在MySQL中代表两种不同类型的字段,它们之间的主要区别在于它们存储的数据类型、存储方式以及显示宽度的含义。

正文:

INT(10)

在MySQL中,当你看到INT(10)这样的数据类型定义时,可能会有些混淆,因为它并不完全按字面意思那样工作。这里的INT是一个整数类型,它用于存储整数值。而括号内的数字(在这个例子中是10)并不限制存储的整数的值范围或精度,而是指定了显示宽度。

然而,这个显示宽度在大多数情况下并不会影响实际的存储或查询结果,因为它主要用于某些SQL客户端工具或应用程序中格式化显示查询结果时的一个提示。例如,如果你在一个具有固定列宽的表格视图中查看查询结果,INT(10)可能会提示客户端工具为该列分配至少10个字符的宽度来显示整数值(尽管这并不意味着它会用空格填充到10位)。

重要的是要理解,无论INT后面跟的数字是多少,INT类型本身的值范围都是固定的:

  • 对于有符号的INT,范围是-2,147,483,648到2,147,483,647。
  • 对于无符号的INT UNSIGNED,范围是0到4,294,967,295。

因此,INT(10)INT(1)在存储能力上没有任何区别,它们都能存储相同范围的整数值。唯一的区别可能是在某些特定的显示场景下,它们可能会影响数值的显示方式,但这种影响通常是由客户端工具或应用程序的实现决定的,而不是由MySQL数据库本身决定的。

总的来说,当设计数据库表时,应该更多地关注数据类型的选择(如INTVARCHARDATE等)以及它们是否能满足你的数据需求和性能要求,而不是过分关注数据类型定义中的显示宽度。

BIGINT(20)

在MySQL中,BIGINT(20)这样的数据类型定义同样可能会引起一些混淆。这里,BIGINT是一个整数类型,用于存储非常大的整数值。而括号内的数字20,就像在其他整数类型(如INT(10))中一样,并不限制存储的整数的值范围或精度,而是指定了显示宽度。

然而,需要注意的是,对于BIGINT来说,这个显示宽度实际上在大多数情况下都是无关紧要的,因为BIGINT类型的值范围远远超出了任何可以通过这种方式指定的显示宽度所能表示的范围。

BIGINT类型的值范围如下:

  • 对于有符号的BIGINT,范围是-9,223,372,036,854,775,808到9,223,372,036,854,775,807。
  • 对于无符号的BIGINT UNSIGNED,范围是0到18,446,744,073,709,551,615。

这些范围远远超出了20位数字所能表示的范围,因此BIGINT(20)中的20并不限制存储的整数值的大小,而仅仅是一个建议的显示宽度。

同样地,这个显示宽度主要用于某些SQL客户端工具或应用程序中格式化显示查询结果时的一个提示。然而,与INT类型不同,由于BIGINT的范围如此之大,很少有客户端工具或应用程序会根据这个显示宽度来截断或填充显示的整数值。

总的来说,BIGINT(20)中的20对于存储和查询操作来说没有实际影响,它更多地是一个元数据,可能用于某些特定的显示或格式化场景。在设计数据库表时,应该主要关注数据类型(如BIGINT)是否能满足你的数据需求和性能要求,而不是过分关注数据类型定义中的显示宽度。

VARCHAR(30)

VARCHAR(30) 在MySQL中是一种数据类型定义,用于指定一个可变长度的字符串字段,该字段的最大长度为30个字符。这里的“VARCHAR”代表可变字符(Variable Character),而括号中的数字(在这个例子中是30)则指定了该字段可以存储的最大字符数。

与固定长度的字符串类型(如CHAR)不同,VARCHAR类型会根据存储的字符串的实际长度来分配空间(加上一个或两个字节来记录字符串的长度,具体取决于字符串的最大长度),从而可以更有效地利用存储空间。如果存储的字符串长度小于指定的最大长度,那么VARCHAR字段将只占用必要的空间加上长度记录的开销。

VARCHAR类型非常适合存储长度可变的字符串,比如名字、地址、描述等。使用VARCHAR时,你应该根据实际需要选择合适的最大长度,以避免浪费存储空间或因为长度不足而导致数据截断。

需要注意的是,虽然VARCHAR类型可以存储的最大字符数在理论上受到MySQL版本和配置的限制,但在实际应用中,这个限制通常是非常大的(比如MySQL 5.7中VARCHAR字段的最大长度可以达到65,535个字节,但实际可存储的字符数还取决于字符集和排序规则)。然而,出于性能和存储效率的考虑,建议将VARCHAR字段的最大长度设置为实际需要的最大值,而不是盲目追求更大的长度。

显示宽度

在MySQL中,数据类型的显示宽度(如INT(10)BIGINT(20)等中的数字部分)是一个容易引起混淆的概念。为了更好地理解它,我们可以从以下几个方面来阐述:

1. 显示宽度的定义

显示宽度并不限制字段中能够存储的值的范围或精度,而是指定了某些SQL客户端工具或应用程序在显示该字段的值时可能会使用的最小字符宽度。然而,这个特性并不是所有客户端或应用程序都会遵循的,它更多是一种建议或提示。

2. 显示宽度的作用

  • 格式化显示:在某些具有固定列宽的表格视图中,显示宽度可能用于指导客户端工具如何格式化显示查询结果。例如,如果字段被定义为INT(10),则客户端可能会为该字段的显示分配至少10个字符的宽度。
  • 美观性:在某些情况下,为了保持查询结果的美观和一致性,开发人员可能会使用显示宽度来指定字段的显示宽度。

3. 显示宽度的局限性

  • 不限制值范围:显示宽度绝对不会限制字段能够存储的值的范围。例如,INT(1)INT(10)都能存储相同的整数值范围。
  • 不保证显示效果:不同的SQL客户端工具或应用程序可能会以不同的方式处理显示宽度。有些工具可能会忽略它,而有些工具则可能会根据它来格式化显示结果。
  • 不适用于所有数据类型:显示宽度主要适用于整数类型和固定长度的字符串类型(如CHAR),但对于可变长度的字符串类型(如VARCHAR)和二进制类型(如BLOB),它通常没有实际意义。

4. 注意事项

  • 在设计数据库表时,应该主要关注数据类型是否满足数据需求和性能要求,而不是过分关注显示宽度。
  • 如果需要在客户端工具或应用程序中控制字段的显示格式,最好使用应用程序层面的逻辑来实现,而不是依赖MySQL的显示宽度特性。

5. 结论

显示宽度是MySQL数据类型定义中的一个可选参数,它主要用于指导某些SQL客户端工具或应用程序在显示字段值时可能会使用的最小字符宽度。然而,它并不限制字段能够存储的值的范围或精度,也不保证所有客户端或应用程序都会遵循这个建议。因此,在设计和使用数据库时,应该谨慎对待这个特性。

VARCHAR(30) 和 INT(10)

VARCHAR(30) 和 INT(10) 在MySQL中代表两种不同类型的字段,它们之间的主要区别在于它们存储的数据类型、存储方式以及显示宽度的含义。

VARCHAR(30)

  • 数据类型VARCHAR 是一个可变长度的字符串类型。它用于存储可变长度的文本数据。
  • 存储方式VARCHAR 字段根据存储的字符串的实际长度来分配空间(加上一个或两个字节来记录字符串的长度)。如果存储的字符串长度小于指定的最大长度(在这个例子中是30个字符),那么VARCHAR字段将只占用必要的空间加上长度记录的开销。
  • 显示宽度的含义:虽然VARCHAR(30)中的30指定了字段的最大字符数,但这个数字并不限制存储在字段中的字符串的长度(从技术上讲,它受限于MySQL的行大小和字符集),而是指定了某些SQL客户端工具或应用程序在显示该字段的值时可能会使用的最小字符宽度。然而,这个特性并不是所有客户端或应用程序都会遵循的。

INT(10)

  • 数据类型INT 是一个整数类型。它用于存储整数值。
  • 存储方式INT 字段占用固定的存储空间(通常是4个字节),并且可以存储的整数值范围取决于它是有符号的还是无符号的(对于有符号的INT,范围是-2,147,483,648到2,147,483,647;对于无符号的INT,范围是0到4,294,967,295)。
  • 显示宽度的含义INT(10)中的10并不限制存储的整数值的范围或精度,而是指定了某些SQL客户端工具或应用程序在显示该字段的值时可能会使用的最小显示宽度。然而,这个显示宽度实际上在大多数情况下都是无关紧要的,因为它不会影响存储的整数值的大小,也不会导致整数值被截断或填充。它主要是一个元数据,可能用于某些特定的显示或格式化场景。

总结

  • VARCHAR(30)用于存储最多30个字符的可变长度字符串。
  • INT(10)用于存储整数值,括号中的10主要是一个显示宽度的提示,对存储的整数值没有实际影响。
  • 在设计数据库表时,应该根据实际需要选择合适的字段类型和长度,而不是过分关注显示宽度的概念。

引申1:MySQL中各种数据类型占用的存储空间

MySQL中各种数据类型占用的存储空间大小可以根据不同的数据类型和参数设置而有所不同。以下是根据MySQL官方文档和权威资料整理的各种数据类型占用的存储空间大小的概述:

数值类型

数据类型存储空间备注
TINYINT1 字节存储范围为 -128 到 127(有符号)或 0 到 255(无符号)
SMALLINT2 字节存储范围为 -32768 到 32767(有符号)或 0 到 65535(无符号)
MEDIUMINT3 字节存储范围为 -8388608 到 8388607(有符号)或 0 到 16777215(无符号)
INT, INTEGER4 字节存储范围为 -2147483648 到 2147483647(有符号)或 0 到 4294967295(无符号)
BIGINT8 字节存储范围为 -9223372036854775808 到 9223372036854775807(有符号)或 0 到 18446744073709551615(无符号)
FLOAT4 字节存储单精度浮点数
DOUBLE8 字节存储双精度浮点数
DECIMAL(M,D)可变存储精确的小数,M是数字的最大位数(精度),D是小数点后的位数(标度)。存储空间根据M和D的值变化

字符串类型

数据类型存储空间备注
CHAR(n)n 字节定长字符串,最多存储n个字符,n的范围是0到255
VARCHAR(n)L+1 字节变长字符串,最多存储n个字符,L是实际存储的字符数(L<=n),需要额外1个字节来记录长度
TINYTEXTL+1 字节最多存储255个字符(L<=255)
TEXTL+2 字节最多存储65535个字符(L<=65535)
MEDIUMTEXTL+3 字节最多存储16777215个字符(L<=16777215)
LONGTEXTL+4 字节最多存储4294967295个字符(L<=4294967295)

日期和时间类型

数据类型存储空间备注
DATE3 字节存储日期值,格式为YYYY-MM-DD
TIME3 字节存储时间值,格式为HH:MM:SS
DATETIME8 字节存储日期和时间值,格式为YYYY-MM-DD HH:MM:SS
TIMESTAMP4 字节存储时间戳,范围从'1970-01-01 00:00:01' UTC到'2038-01-19 03:14:07' UTC
YEAR1 字节存储年份值,范围从1901到2155

其他类型

数据类型存储空间备注
ENUM1 或 2 字节存储预定义值列表中的一个值,取决于枚举值的个数(最多65535个值)
SET1 到 8 字节存储预定义值列表中的零个或多个值,取决于集合成员的数量(最多64个成员)
BLOB, TINYBLOB, MEDIUMBLOB, LONGBLOBL+1 到 L+4 字节存储二进制大对象,L是实际存储的字节数,具体取决于BLOB类型

请注意,对于变长类型(如VARCHAR、BLOB和TEXT),存储需求取决于列值的实际长度。对于DECIMAL类型,存储空间取决于定义的精度(M)和标度(D)。此外,当使用Unicode字符集时,每个字符可能会占用更多的字节,这会影响字符串类型的实际存储空间。

引申2:MySQL表中最多可以有多少列

MySQL表中最多可以有多少列,这个问题并没有一个固定的答案,因为它受到多个因素的影响,包括MySQL的版本、存储引擎、操作系统、硬件配置以及表的类型等。以下是根据不同情况对MySQL表列数限制的一些概述:

1. MySQL版本和存储引擎

  • MySQL 5.7及之前版本:对于MyISAM和InnoDB存储引擎,表的列数限制通常为4096个。
  • MySQL 8.0及更新版本:对于MyISAM和InnoDB存储引擎,表的列数限制有所变化,通常限制为1017个或更少(根据官方文档,InnoDB表不能包含超过1000列,但具体数字可能因版本而异)。

2. 其他因素

  • 最大行大小:表的列数也受到最大行大小的限制。MySQL内部机制允许每个表有一个最大的行大小,通常为65535字节(但具体值可能因存储引擎和配置而异)。如果表的列数过多,且列的数据类型占用的空间较大,可能会导致行大小超过限制,从而无法创建表。
  • 字符集和排序规则:使用的字符集和排序规则也会影响列的存储大小,进而影响表的列数限制。
  • 索引和其他功能性键:索引和其他功能性键(如外键)也会占用额外的空间,并可能对表的列数产生间接影响。

3. 官方文档和实际情况

  • 官方文档:MySQL的官方文档通常会提供关于表列数限制的最新和最准确的信息。然而,由于MySQL是一个不断发展的数据库系统,因此这些限制可能会随着新版本的发布而发生变化。
  • 实际情况:在实际应用中,由于多种因素的综合影响,表的列数限制可能会低于官方文档中给出的理论值。

4. 注意事项

  • 在设计数据库表时,应尽量避免创建具有过多列的表。过多的列不仅会增加查询和维护的复杂性,还可能影响数据库的性能。
  • 如果确实需要存储大量字段的数据,可以考虑使用关系数据库的特性(如外键和连接查询)来将数据分布在多个表中,或者使用非关系型数据库(如NoSQL数据库)来存储数据。

综上所述,MySQL表中最多可以有多少列并没有一个固定的答案。在设计和使用MySQL表时,应根据实际情况和需求来合理规划表的列数。同时,建议查阅MySQL的官方文档以获取最新和最准确的信息。

--end--

相关文章:

MySQL:送分or送命 varchar(30) 与 int(10)

摘要&#xff1a; VARCHAR(30) 和 INT(10) 在MySQL中代表两种不同类型的字段&#xff0c;它们之间的主要区别在于它们存储的数据类型、存储方式以及显示宽度的含义。 正文&#xff1a; INT(10) 在MySQL中&#xff0c;当你看到INT(10)这样的数据类型定义时&#xff0c;可能会…...

【odoo17】后端py方法触发右上角提示组件

概要 在前面文章中&#xff0c;有介绍过前端触发的通知服务。 【odoo】右上角的提示&#xff08;通知服务&#xff09; 此文章则介绍后端触发方法。 内容 直接上代码&#xff1a;但是前提一定是按钮触发&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; def bu…...

1775D - Friendly Spiders

题目链接&#xff1a;Friendly Spiders 首先我们可以考虑暴力做法&#xff0c;那就是每两个蜘蛛判断一下gcd&#xff0c;如果不等于1&#xff0c;那就连条边&#xff0c;这样的话时间复杂度是O&#xff08;n^2&#xff09;&#xff0c;显然超时&#xff0c;因此我们可以采用类似…...

【python】OpenCV—Point Polygon Test

文章目录 1、完整代码2、涉及到的库cv2.pointPolygonTestcv2.minMaxLoc 1、完整代码 from __future__ import print_function from __future__ import division import cv2 as cv import numpy as np # Create an image r 100 src np.zeros((4*r, 4*r), dtypenp.uint8) # 创…...

6 Go语言的常量、枚举、作用域

本专栏将从基础开始&#xff0c;循序渐进&#xff0c;由浅入深讲解Go语言&#xff0c;希望大家都能够从中有所收获&#xff0c;也请大家多多支持。 查看相关资料与知识库 专栏地址:Go专栏 如果文章知识点有错误的地方&#xff0c;请指正&#xff01;大家一起学习&#xff0c;…...

第十一章 数据结构

第十一章 数据结构 11.1 数组 数组是元素的顺序集合&#xff0c;通常这些元素具有相同的数据类型 索引表示元素在数组中的顺序号&#xff0c;顺序号从数组开始处计数 数组元素通过索引被独立给出了地址&#xff0c;数组整体上有一个名称&#xff0c;但每个元素利用数组的的…...

LeetCode704 二分查找

前言 题目&#xff1a; 704.二分查找 文档&#xff1a; 代码随想录——二分查找 编程语言&#xff1a; C 解题状态&#xff1a; 解答错误&#xff0c;变量定义位置错误。 思路 有序数组的查找&#xff0c;最直接的思路应该就是二分查找。但是在查找的过程中要考虑到区间的边界…...

[言简意赅] Matlab生成FPGA端rom初始化文件.coe

&#x1f38e;Matlab生成FPGA端rom初始化文件.coe 本文主打言简意赅。 函数源码 function gencoeInitialROM(width, depth, signal, filepath)% gencoeInitialROM - 生成 Xilinx ROM 初始化格式的 COE 文件%% 输入参数:% width - ROM 数据位宽% depth - ROM 数据深度% s…...

【QAC】分布式部署下其他机器如何连接RLM

1、 文档目标 解决分布式部署下其他机器如何连接RLMLicense管理器。 2、 问题场景 分布式部署下QAC要在其他机器上单独运行扫描&#xff0c;必须先连接RLMLicense管理器&#xff0c;如何连接&#xff1f; 3、软硬件环境 1、软件版本&#xff1a;HelixQAC23.04 2、机器环境…...

从等保测评看行业安全趋势:洞察与预测

在当今数字化时代&#xff0c;网络安全已成为各行各业的头等大事。等保测评&#xff08;等级保护测评&#xff09;&#xff0c;作为国家对信息系统安全的重要管理手段&#xff0c;不仅关乎企业的合规性&#xff0c;更是行业安全水平的重要衡量标准。本文将从等保测评的视角出发…...

HTTP模块(二)

HTTP 设置 HTTP 响应报文 HTTP报文常见属性&#xff1a; const http require(http);const server http.createServer((request, response) > {// 设置请求状态码 2xx 4xx 5xxresponse.statusCode 200;// 设置请求描述 了解即可response.statusMessage hello// 指定响…...

引入缓存带来的问题以及解决方案

目录 前言 问题与解决方案 缓存击穿 缓存穿透 缓存雪崩 缓存一致性 前言 在提升接口性能的方案中&#xff0c;毫无疑问&#xff0c;使用缓存是最有效果的&#xff0c;但同时也会带来新的问题。 缓存击穿缓存穿透缓存雪崩缓存一致性 以上问题都是引入缓存需要考虑的&am…...

力扣39题:组合总和的 Java 实现

引言 力扣&#xff08;LeetCode&#xff09;是一个在线编程平台&#xff0c;提供了大量的编程题目供开发者练习。第39题“组合总和”是一个经典的回溯算法问题&#xff0c;要求找出所有可能的组合&#xff0c;使得组合中的数字之和等于给定的目标值。本文将介绍如何使用 Java …...

使用el-table实现自动滚动

文章目录 概要技术实现完整代码 概要 在前端开发大屏的时候&#xff0c;我们会用到表格数据展示&#xff0c;有时候为了使用户体验更加好&#xff0c;会增加表格自动滚动。下边我将以示例代码&#xff0c;用element UI的el-table来讲一下。 技术实现 1 .增加dom监听&#xf…...

Angular由一个bug说起之八:实践中遇到的一个数据颗粒度的问题

互联网产品离不开数据处理&#xff0c;数据处理有一些基本的原则包括&#xff1a;准确性、‌完整性、‌一致性、‌保密性、‌及时性。‌ 准确性&#xff1a;是数据处理的首要目标&#xff0c;‌确保数据的真实性和可靠性。‌准确的数据是进行分析和决策的基础&#xff0c;‌因此…...

day13(DNS域名解析)

今天内容&#xff1a; 1、逆向解析 2、多域名 3、时间服务器 4、主从配置 1.设置逆向解析 &#xff08;1&#xff09;永久配置我们自己的DNS服务器 &#xff08;2&#xff09;关闭NetworkManager服务 NetworkManager 的自动管理功能可能会干扰定制化的网络配置。 在需要切换…...

uboot的mmc partconf命令

文章目录 命令格式参数解释具体命令解释总结 mmc partconf 是一个用于配置 MMC (MultiMediaCard) 分区的 U-Boot 命令。具体来说&#xff0c;这个命令允许你设置或读取 MMC 卡的分区配置参数。让我们详细解释一下 mmc partconf 0 0 1 0 命令的含义。 命令格式 mmc partconf &…...

数据结构经典测题3

1. 设有定义&#xff1a; char *p; &#xff0c;以下选项中不能正确将字符串赋值给字符型指针 p 的语句是【多选】&#xff08; &#xff09; A: pgetchar(); B: scanf("%s",p); C: char s[]"china"; ps; D: *p"china"; 答案为ABD A选项&…...

tensorboard add_text() 停止自动为尖括号标记添加配对的结束括号</>

问题 调用tensorboard的add_text()记录文本信息时&#xff0c;如果文本中含有含尖括号的标记&#xff0c;就会被自动识别为html标记&#xff0c;因此tensorboard会自动生成对应的带斜杠的结束标记。 例如要记录的文本是 abc<abc>&#xff0c;在tensorboard中就会显示为a…...

sql-libs通关详解

1-4关 1.第一关 我们输入?id1 看回显&#xff0c;通过回显来判断是否存在注入&#xff0c;以及用什么方式进行注入&#xff0c;直接上图 可以根据结果指定是字符型且存在sql注入漏洞。因为该页面存在回显&#xff0c;所以我们可以使用联合查询。联合查询原理简单说一下&…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、&#x1f44b;&#x1f3fb;前言 二、&#x1f608;sinx波动的基本原理 三、&#x1f608;波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、&#x1f30a;波动优化…...

MySQL 知识小结(一)

一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库&#xff0c;分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷&#xff0c;但是文件存放起来数据比较冗余&#xff0c;用二进制能够更好管理咱们M…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一&#xff0c;能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时&#xff0c;需要添加Git仓库地址和凭证&#xff0c;设置构建触发器&#xff08;如GitHub…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

从零开始了解数据采集(二十八)——制造业数字孪生

近年来&#xff0c;我国的工业领域正经历一场前所未有的数字化变革&#xff0c;从“双碳目标”到工业互联网平台的推广&#xff0c;国家政策和市场需求共同推动了制造业的升级。在这场变革中&#xff0c;数字孪生技术成为备受关注的关键工具&#xff0c;它不仅让企业“看见”设…...

OpenHarmony标准系统-HDF框架之I2C驱动开发

文章目录 引言I2C基础知识概念和特性协议&#xff0c;四种信号组合 I2C调试手段硬件软件 HDF框架下的I2C设备驱动案例描述驱动Dispatch驱动读写 总结 引言 I2C基础知识 概念和特性 集成电路总线&#xff0c;由串网12C(1C、12C、Inter-Integrated Circuit BUS)行数据线SDA和串…...