【MySQL】MySQL基本数据类型

news2024/12/23 14:13:05
序号系列文章
1【MySQL】MySQL介绍及安装
2【MySQL】MySQL基本操作详解
3【MySQL】MySQL基本数据类型

文章目录

  • 1,数字类型
    • 1.1,整型类型
    • 1.2,浮点数类型
    • 1.3,定点数类型
    • 1.4,BIT类型
    • 1.5,直接常量
  • 2,时间和日期类型
    • 2.1,YEAR类型
    • 2.2,DATE类型
    • 2.3,TIME类型
    • 2.4,DATETIME类型
    • 2.5,TIMESTAMP类型
  • 3,字符串类型
    • 3.1,CHAR和VARCHAR类型
    • 3.2,TEXT类型
    • 3.3,ENUM类型
    • 3.4,SET类型
    • 3.5,BINARY和VARBINARY类型
    • 3.6,BLOB类型
  • 4,JSON数据类型
  • 结语

1,数字类型

MySQL的数据类型包括整型类型,浮点数类型,定点数类型,位(BIT)类型等。

1.1,整型类型

MySQL的整型类型用于保存整数,根据取值范围的不同,整数类型可划分为5种。

整数类型字节无符号数的取值范围有符号数的取值范围
TINYINT10~255-128~127
SMALLINT20~65535-32768~32767
MEDIUMINT30~16777215-8388608~8388607
INT40~4294967295-2147483648~2147483647
BIGINT80~18446744073709551615-9223372036854774808~9223372036854774807
  • 不同整数类型的取值范围是通过字节数计算出来的,一个字节数等于8位二进制数。

    例如,TINYINT类型无符号数的最大值为2^8-1(即为255), 有符号数的最大值为2^7-1(即为127)。

    其他类型的数据类型的取值范围根据同样的方法可得出。

  • 若使用无符号数据类型,需要在数据类型右边添加UNSIGNED关键字。

    例如INT UNSIGNED表示无符号INT类型。


为了能够更好的理解整型以及其注意事项,实例如下

image-20221030230845298

知识点:

  1. 在执行结果中,数据类型右边使用小括号数字标注了显示宽度。
  2. 默认情况下,显示宽度是该数据类型取值范围所能表示的最大宽度。
  3. 对于有符号类型,符号也占用一个宽度。例如,255的显示宽度是3,而-255的宽度显示是4.
  4. 显示宽度与取值范围无关,若数值的位数小于显示宽度,会填充空格,若大于显示宽度,则不会影响显示结果。

扩展1:为字段设置零填充和宽度操作

image-20221101085857257

知识点:

  1. 设置零填充后,字段会自动设为无符号类型,因为负数不能使用零填充。
  2. 当数值超过显示宽度时,不填充零;当数值未达到显示宽度时,在左侧填充零。

扩展2:如何选择最适合的整型数据类型?

在选择使用何种整数类型的时候,我们只需要重点考虑两方面,即存储空间和可靠性。

一方面,用占用字节数少的整数类型可以节省存储空间;另一方面,要是为了节省存储空间,使用的整数类型取值范围太小,一旦遇到超出取值范围的情况,就可能引起系统错误 ,影响可靠性。

切记:在实际工作中,因系统故障产生的成本远远超过增加几个字段存储空间所产生的成本,所以建议在确保数据不会超过取值范围的情况下,再去考虑如何节省存储空间。


扩展3:各整数数据类型的使用场所

  1. TINYINT :一般用于枚举数据,比如系统设定取值范围很小且固定的场景。
  2. SMALLINT :可以用于较小范围的统计数据,比如统计工厂的固定资产库存数量等。
  3. MEDIUMINT :用于较大整数的计算,比如车站每日的客流量等。
  4. INT、INTEGER :取值范围足够大,一般情况下不用考虑超限问题,用得最多。比如商品编号。
  5. BIGINT :只有当你处理特别巨大的整数时才会用到。比如双十一的交易量、大型门户网站点击量、证券公司衍生产品持仓等。

1.2,浮点数类型

在MySQL中,存储的小数都是使用浮点数或定点数来表示的。浮点数的类型有2种,分别为单精度浮点数类型(float)和双精度浮点类型(double)。

数据类型字节数取值范围
FLOAT4-2^128~2 ^128,即-3.40E+38~+3.40E+38
DOUBLE8-2^1024~ 2^1024,即-1.79E+308~1.79E+308

知识点:

  1. 当浮点数类型使用unsigned修饰无符号时,取值范围将不包含负数。
  2. 浮点数的取值范围是理论上的极限值,但根据不同的硬件或操作系统,实际范围可能会小。
  3. 浮点数虽然取值范围很大,但精度并不高。float类型的精度为6位或7位,double类型的精度大约为15位。
  4. 如果给定的数值超出精度,可能会导致给定的数值与实际保存的数值不一致,发生精度损失。
  5. 当一个数字的整数部分和小数部分加起来达到7位时,第7位就会进行四舍五入操作。
  6. 要避免使用“=”来判断两个浮点数是否相等,因为浮点数是不准确的,存在精度损失。

为了能够更好的理解浮点数以及其注意事项,实例如下

image-20221101092230703


1.3,定点数类型

定点数类型(DECIMAL)通过DECIMAL(M,D)设置位数和精度。

  • M表示数字总位数,不包括’.‘和’-',最大值为65,默认值为10。
  • D表示小数点后的位数,最大值为30,默认值为0。
    • 例如,DECIMAL(5,2)表示的取值范围为-999.99~999.99。

为了能够更好的理解定点数以及其注意事项,实例如下:

image-20221101095114528

知识点:

  1. 系统会自动根据存储的数据来分配存储空间。若不允许保存负数,可通过unsigned修饰。
  2. 若小数部分超出范围,会进行四舍五入操作,并出现Data truncated(数据截断)警告。
  3. 若整数部分超出范围,数据会插入失败,提示Out of range value(超出取值范围)错误。

扩展1:定点数的存储空间

DECIMAL(M,D)的最大取值范围与DOUBLE类型一样,但是有效的数据范围是由M和D决定的。

定点数(DECIMAL) 的存储空间并不是固定的,是由精度值M来决定的,总共占用的存储空间为M+2个节。

也就是说,在一些对精度要求不高的场景下,比起占用同样字节长度的定点数,浮点数表达的数值范围可以更大一些。


扩展2:定点数与浮点数的对比及应用

  1. 定点数类型取值范围相对小,但是精准,没有误差。
    • 适合于对精度要求极高的场景 (比如涉及金额计算的场景)
  2. 浮点数相对于定点数的优点是在长度一定的情况下,浮点类型取值范围大,但是不精准。
    • 适用于需要取值范围大,又可以容忍微小误差的科学计算场景(比如计算化学、分子建模、流体动力学等场景)

扩展3:注意点及建议

  1. 浮点数类型也可以设置位数和精度,如float(8,2),但仍有可能会损失精度。
  2. 在实际使用时,我们应避免使用浮点数类型,以免出现不能人为控制的问题。
  3. 因此对于小数类型的设置,推荐使用定点数类型并设置合理的范围可以使计算更为精确。

1.4,BIT类型

BIT(位)类型用于存储二进制数据,语法为BIT(M),M表示位数,范围为1~64。

函数函数用途
BIT(M)存储二进制数据
ASCll(M)获取M的ASCll值
BIN(M)获取M的二进制值
LENGTH(M)获取M的数字长度

知识点:

  1. BIT类型字段在数字插入时转换为二进制保存,但在利用SELECT查询时,会自动转换为对应的字符显示。
  2. BIT类型,如果在创建时没有指定(M),默认是1位。这个1位,表示只能存1位的二进制值。
  3. 在向BIT类型的字段中插入数据时,一定要确保插入的数据在BIT类型支持的范围内。

1.5,直接常量

直接常量指的是在MySQL中直接编写的字面常量,如数字1253,字符串’abc’等,常用于在INSERT语句中编写插入的数据。

直接常量具有多种语法形式,可分为6类。

1)十进制数

十进制数:语法近似于我们日常使用的数字,如12,-12,-1.2,以及科学计数法1E2,1E-2(E不区分大小写)。


2)二进制数

二进制数:在二进制字符串前面加前缀b,形如b‘10000001’。

上述示例通过SECLECT b‘10000001’;语句可查看二进制转为ASCll字符后的结果,即字符A。


3)十六进制数

十六进制数:有两种表示方式,分别为:在十六进制字符串前面加前缀0x或在十六进制字符串前面加前缀x,形如0x‘41’或x’41’。

上述示例通过SECLECT 0x‘41’;语句可查看十六进制转为ASCll字符后的结果,即字符A。

上述示例通过SECLECT HEX(65);语句可查看十进制转为十六进制的结果,即41。


4)字符串

字符串:MySQL支持单引号和双引号定界符,形如"abc"和’abc’,推荐使用单引号定界符。

若要在单/双引号字符串中书写单/双引号,需要在单/双引号前面添加反斜杠\转义,即"\ ’ “和” \ " "。

常见转义字符:

转义字符含义转义字符含义
\0空字符(NUL)\t制表符(HT)
\r回车符(CR)\b退格(BS)
\n换行符(LF)\ ’单引号
\ "双引号%%(常用于LIKE条件)
\ \反斜杠\ __(常用于LIKE条件)

5)布尔值

布尔值:TRUE和FALSE两个值(不区分大小写),通常用于逻辑判断,表示事物的真和假。

在SELECT,INSERT等语句中使用布尔值,TRUE会转换为1,FALSE会转换为0。


6)NULL值

NULL值:通常用于表示没有值,值不确定等含义。

例如,在插入一条商品数据时,暂时不知道该商品的库存量,可将此设为NULL。


2,时间和日期类型

为了方便在数据库中存储日期和时间,MySQL提供了表示日期和时间的数据类型。

  1. YEAR 类型通常用来表示年
  2. DATE 类型通常用来表示年、月、日
  3. TIME 类型通常用来表示时、分、秒
  4. DATETIME 类型通常用来表示年、月、日、时、分、秒
  5. TIMESTAMP 类型通常用来表示带时区的年、月、日、时、分、秒

为了更直观的学习这五种表示日期和时间的数据类型,简单归纳如下:

数据类型字节取值范围日期格式零值
YEAR11901~2155YYYY0000
DATE31000-01-01~9999-12-31YYYY-MM-DD0000-00-00
TIME3-838:59:59~838:59:59HH:MM:SS00:00:00
DATETIME81000-01-01 00:00:00~9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS0000-00-00 00:00:00
TIMESTAMP41970-01-01 00:00:01~2038-01-19 03:14:07YYYY-MM-DD HH:MM:SS0000-00-00 00:00:00

知识点:

  1. 不同数据类型表示的时间内容不同、取值范围不同,而且占用的字节数也不一样,你要根据实际需要灵活选取。
  2. 为什么时间类型 TIME 的取值范围不是 -23:59:59~23:59:59 呢?
    • 原因是 MySQL设计的TIME 类型,不光表示一天之内的时间,还可以用来表示一个时间间隔,这个时间间隔可以超过 24小时。

2.1,YEAR类型

YEAR类型用来表示年份,在所有的日期时间类型中所占用的存储空间最小,只需要1个字节的存储空间,格式为YYYY。

在MySQL中,可使用以下3种格式指定TEAR类型的值:

  1. 使用4位字符串或数字表示,为’1901’'2155’或19012155。
    • 例如,输入’2022’或2022,插入到数据库中的值均为2022.
  2. 使用两位字符串表示,为’00’~‘99’。
    • ‘00’ ~ '69’的值会被转换为2000~2069的YEAR值
    • ‘70’ ~ '99’的值会被自动转换为1970~1999的YEAR值
    • 例如,输入’22’,插入到数据表中的值为2022。
  3. 使用两位数字表示,为1~99。
    • 1 ~ 69的值会被转换为2001~2069的YEAR值
    • 70 ~ 99的值会被自动转换为1970~1999的YEAR值
    • 例如,输入22,插入到数据表中的值为2022。

知识点:

  1. 当使用YEAR类型时,一定要区分0和’0’。

    • 数字格式的0表示的YEAR值为0000

    • 字符串格式的’0’表示的YEAR值为2000


2.2,DATE类型

DATE类型用来表示日期值,不包含时间部分,需要 3个字节 的存储空间,且其格式为 YYYY-MM-DD 。其中,YYYY表示年份,MM表示月份,DD表示日期。

在MySQL中,可以使用以下4种格式指定DATE类型的值:

  1. 以’YYYY-MM-DD’或者’YYYYMMDD’字符串格式表示。
  2. 以’YY-MM-DD’或者’YYMMDD’字符串格式表示。
  3. 以YY-MM-DD或者YYMMDD数字格式表示。
  4. 使用CURRENT_DATE或者NOW()输入当前系统日期。

注意:

  • 通过"SELECT CURRENT_DATE;"或者"SELECT NOW();"可查询当前日期。

  • 日期中的分隔符"-“,还可以使用”.“”,“”/"等符号来表示。


2.3,TIME类型

TIME类型用于表示时间值,它的显示形式一般为HH:MM:SS,其中HH表示小时,MM表示分,SS表示秒。

在MySQL中,可以使用以下3种格式指定TIME类型的值:

  1. 以’HHMMSS’字符串或者HHMMSS数学格式表示。
  2. 以’HH:MM:SS’字符串格式表示。
  3. 使用CURRENT_TIME或NOW()输入当前系统时间。

2.4,DATETIME类型

DATETIME类型在所有的日期时间类型中占用的存储空间最大,总共需要 8 个字节的存储空间,用来表示日期和时间,它的显示形式为’YYYY-MM-DD HH:MM:SS’。

在MySQL中,可以使用以下4种格式指定DATETIME类型的值:

  1. 以’YYYY-MM-DD HH:MM:SS’或’YYYYMMDDHHMMSS’字符串格式表示的日期和时间,取值范围为’1000-01-01 00:00:00’~‘9999-12-31-23-59-59’。
  2. 以’YY-MM-DD HH:MM:SS’或’YYMMDDHHMMSS’字符串格式表示的日期和时间,
  3. 以YYYYMMDDHHMMSS或YYMMDDHHMMSS数字格式表示的日期和时间,
  4. 使用NOW()来输入当前系统的日期和时间。

2.5,TIMESTAMP类型

TIMESTAMP(时间戳)类型用于表示日期和时间,需要4个字节的存储空间,它的显示形式与DATETIME类型的相同,但取值范围比DATETIME类型的小。

TIMESTAMP类型与DATETIME类型的不同形式:

  1. 使用CURRENT_TIMESTAMP来输入系统当前的日期和时间。
  2. 无任何输入,或输入NULL时,实际保存的是系统当前日期和时间。

知识点:

  1. 在MySQL中,TIMESTAMP字段默认情况下会自动设置NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP属性。

    • NOT NULL表示非空约束,该字段不允许为空。
    • DEFAULT表示默认约束,当字段无任何输入时,自动设置某个值作为默认值。
      • 此处设为CURRENT_TIMESTAMP表示使用系统当前日期和时间作为默认值。
    • ON UPDATE用于当一条记录中的其它字段被修改时,自动更改该字段为某个值。
      • 此处设为CURRENT_TIMESTAMP表示每次修改时保存修改时的系统日期和时间。
    • 若为TIMESTAMP字段手动设置DEFAULT属性时,该字段不会自动设置ON UPDATE 属性。

    image-20230104134533903

  2. 存储数据的时候需要对当前时间所在的时区进行转换,查询数据的时候再将时间转换回当前的时区。因此,使用TIMESTAMP存储的同一个时间值,在不同的时区查询时会显示不同的时间。


3,字符串类型

MySQL中的字符串类型分别为CHAR,VARHAR,TEXT等多种类型,不同数据类型具有不同的特点。

数据类型类型说明
CHAR固定长度字符串
VARCHAR可变长度字符串
TEXT大文本数据
ENUM枚举类型
SET字符串类型
BINARY固定长度的二进制数据
VARBINARY可变长度是二进制数据
BLOB二进制大对象

3.1,CHAR和VARCHAR类型

CHAR和VARCHAR类型都是用来保存字符串数据,两者不同的是,VARCHAR可以存储可变长度的字符串数据。

字符串类型特点长度长度范围占用的存储空间
CHAR(M)固定长度M0<=M<=255M个字节
VARCHAR(M)可变长度M0<=M<=65535(实际长度 + 1) 个字节

在MySQL中,定义CHAR和VARCHAR类型的语法格式为:

CHAR(M)

VARCHAR(M)

知识点:

  1. CHAR(M) 类型一般需要预先定义字符串长度。如果不指定(M),则表示长度默认是1个字符。
  2. 如果保存数据的实际长度比CHAR类型声明的长度小,则会在右侧填充空格以达到指定的长度。当MySQL检索CHAR类型的数据时,CHAR类型的字段会去除尾部的空格。
  3. 定义CHAR类型字段时,声明的字段长度即为CHAR类型字段所占的存储空间的字节数。
  4. VARCHAR(M) 定义时, 必须指定长度M,否则就会报错。
  5. 检索VARCHAR类型的字段数据时,会保留数据尾部的空格。VARCHAR类型的字段所占用的存储空间为字符串实际长度加1个字节。

扩展1:CHAR(4)和VARCHAR(4)存储需求对比:

插入值CHAR(4)存储需求VARCHAR(4)存储需求
‘a’4字节1字节
‘ab’4字节3字节
‘abc’4字节4字节
‘abcd’4字节5字节
  • 对于CHAR(4)无论插入值的长度是多少,所占存储空间就为4字节,而VARCHAR(4)占用的字节数为实际长度加1。

扩展2:CHAR(M)和VARCHAR(M)的特点及应用环境

类型特点空间时间使用场景
CHAR(M)固定长度浪费存储空间效率高存储不大,速度要求高
VARCHAR(M)可变长度节省存储空间效率低非CHAR情况
  • 情况1:存储较短的字段数据信息使用char,若使用varchar,还需要额外1个字节来存储信息长度,造成空间存储浪费。
  • 情况2:储存固定的字段数据信息使用char,因字段长固定,varchar的可变长的特性对存储空间没有效果了,还需要额外1个字节来存储信息长度。
  • 情况3:频繁改变的column使用char,因varchar每次存储都要有额外的计算,从而完成得到长度等工作,如果一个非常频繁改变的column操作,那就要花费很多时间和空间来用于计算,而这些对于char来说是不需要的。

注意事项:

  1. 在选择数据类型时,若一个数据将来可能会参与数学运算时,推荐使用整数,浮点数,定点数类型;若只是为了显示,则推荐使用字符串类型。
  2. 表的主键推荐使用整数类型,因为与字符串类型相比,整数类型的处理效率更高,查询速度更快。
  3. 当插入的值的数据类型与字段的数据类型不一致时,或使用ALTER TABLE修改字段的数据类型时,MySQL会尝试尽可能的将现有的值转换为新类型。例如,字符串"123"与数字123可以相互转换,浮点数1.5转换为整数时,会进行四舍五入,转换为整数2。

3.2,TEXT类型

TEXT类型用于保存大文本数据,例如,文章内容,评论等比较长的文本。

数据类型存储范围存储空间占用量特点
TINYTEXT(tinytext)0~2^8-1文本长度+2小文本,可变长度
TEXT(text)0~2^16-1文本长度+2文本,可变长度
MEDIUMTEXT(mediumtext)0~2^24-1文本长度+3中等文本,可变长度
LONGTEXT(longtext)0~2^32-1文本长度+4大文本,可变长度
  1. 在向TEXT类型的字段保存和查询数据时,系统自动按照实际长度存储,不需要预先定义长度。这一点和VARCHAR类型相同。
  2. 由于实际存储的长度不确定,MySQL不允许TEXT类型的字段做主键,只可使用VARCHAR和CHAR字段类型。
  3. TEXT文本类型可以存储较多的文本,但搜索速度较慢,所以不是特别大的文本,可选择使用VARCHAR和CHAR字段类型代替。
  4. 若一个表被频繁使用,这个表中不建议存在TEXT类型的字段。因TEXT和BLOB类型的数据删除后容易导致空洞,使文件碎片比较多。

3.3,ENUM类型

ENUM类型又称为枚举类型,其定义格式为:

ENUM('值1','值2','值3','值4','值5',....,'值n')
  1. ENUM类型的取值范围需要在定义字段时进行指定。

  2. 设置字段值时,ENUM类型只允许从成员中选取单个值,不能一次选取多个值。

  3. 其所需要的存储空间由定义ENUM类型时指定的成员个数决定。

    • 当ENUM类型包含1~255个成员时,需要1个字节的存储空间
    • 当ENUM类型包含256~65535个成员时,需要2个字节的存储空间
    • ENUM类型的成员个数的上限为65535个

为了能够更好的理解ENUM类型以及其注意事项,实例如下:

image-20230104140403106


3.4,SET类型

SET类型用于保存字符串对象,其定义格式与ENUM类型相似。

SET('值1','值2','值3','值4','值5',....,'值n')
  1. 其所需要的存储空间由定SET类型时指定的成员个数决定。

    SET类型包含的成员数存储空间
    1~81个字节
    9~162个字节
    17~243个字节
    25~324个字节
    33~648个字节
  2. SET类型在存储数据时成员个数越多,其占用的存储空间越大。

  3. SET类型在选取成员时,与ENUM类型不同,其可以一次选择多个成员。


为了能够更好的理解SET类型以及其注意事项,实例如下:

image-20230104142038942


3.5,BINARY和VARBINARY类型

BINARY和VARBINARY类型类似于CHAR和VARCHAR,不同的是,它们所表示的是二进制数据。

类型特点长度长度范围占用的存储空间
BINARY(M)固定长度M0<=M<=255M个字节
VARBINARY(M)可变长度M0<=M<=65535(M+ 1) 个字节

BINARY和VARBINARY类型的定义形式:

BINARY(M)
VARBINARY(M)

3.6,BLOB类型

BLOB类型用于保存数据量比较大的二进制数据,如图片,PDF文档等。

数据类型存储范围占用空间
TINYBLOB0~2^8 -1字节len+1个字节
BLOB0~2^16 -1字节(相当于64KB)len+2个字节
MEDIUMBLOB0~2^24 -1字节(相当于16MB)len+3个字节
LONGBLOB0~2^32 -1字节(相当于4GB)len+4个字节

注意:

  1. BLOB类型与TEXT类型相似,但BLOB类型数据是根据二进制编码进行比较和排序,而TEXT类型数据是根据文本模式进行比较和排序。

4,JSON数据类型

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式 ,简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。它易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在网络或者程序之间轻松地传递这个字符串,并在需要的时候将它还原为各编程语言所支持的数据格式。

在MySQL 5.7中,就已经支持JSON数据类型。在MySQL中,JSON类型常见的表示方式有2种,分别为JSON数组和JSON对象。

#JSON数组
['abc',10,null,true]
#JSON对象
{"k1":"value","k2":10}

知识点

  1. JSON数组中保存的数据可以是任意类型的,如数字型,字符串型,布尔型,null …
  2. JSON数组使用“["和”]“符号实现,多个值之间用使用逗号相隔;JSON对象使用”{“和”}“符号实现,保存的是一组键值对,形式为属性名:对应的属性值。
  3. JSON数据类型与字符串类型相比,JSON数据类型具有自动验证格式,优化存储格式的优点。
  4. JSON数据类型所需的空间和LONGBLOB或LONGTEXT相同,且不能有默认值。

为了能够更好的理解JSON数据类型以及其注意事项,实例如下:

image-20230104143435981


结语

这就是本期博客的全部内容啦,想必大家已经对MySQL中的基本数据类型有了全新地认识和理解吧,如果有什么其他的问题无法自己解决,可以在评论区留言哦!

最后,如果你觉得这篇文章写的还不错的话或者有所收获的话,麻烦小伙伴们动动你们的小手,给个三连呗(点赞👍,评论✍,收藏📖),多多支持一下!各位的支持是我最大的动力,后期不断更新优质的内容来帮助大家,一起进步。那我们下期见!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/138805.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2024在职考研|MBA/MPA/MEM管理类硕士报考流程及基础问题扫盲

各位小伙伴们&#xff0c;2024年研究生备考工作即将启程&#xff01;作为在职人群&#xff0c;想攻读双证硕士可以选择的专业比较有限&#xff0c;其中管理类硕士是很多在职考生可以考虑的。专注管理类联考辅导领域的达立易考教育为2024级考生梳理基本流程和关注的问题&#xf…

举一反三-zabbix监控nginx

监控nginx需要修改nginx配置文件&#xff0c;添加如下&#xff1a; location /nginx_status { stub_status; allow 127.0.0.1; allow 192.168.1.71; deny all; } 这里边192.168.1.71是这台服务器的IP。 保存退出&#xff0c;重启…

【阶段二】Python数据分析Pandas工具使用06篇:探索性数据分析:异常数据的检测与处理

本篇的思维导图: 探索性数据分析:异常数据的检测与处理 异常值也称为离群点,就是那些远离绝大多数样本点的特殊群体,通常这样的数据点在数据集中都表现出不合理的特性。如果忽视这些异常值,在某些建模场景下就会导致结论的错误(如线性回归模型、K均值聚类等),所以在数据…

《杜拉拉升职记》读后感

主要是那封拉拉写给李都的信&#xff0c;内容&#xff1a;一、关于什么样的职位算好职位1.你的找一家好公司&#xff0c;什么是好公司?1)产品附加值高&#xff0c;生意好&#xff0c;并且从业务线看&#xff0c;具备持续发展的能力和前景;2)有专业的/聪明能干的/经验丰富的/并…

ESP IDF:创建并打印vector的元素值

ESP IDF:创建并打印vector的元素值 程序&#xff1a; #include <stdio.h> #include std::vector v; std::vector::iterator pBegin v.begin(); std::vector::iterator pEnd v.end(); void test_vector() { v.push_back(10); v.push_back(20); v.push_back(30); v.…

iPhone 14微信闪退怎么办?iPhone 14微信闪退解决办法分享

大家在iPhone上使用微信的时候肯定都有遇到过微信闪退的情况&#xff0c;闪退问题一旦出现&#xff0c;就会严重影响我们的正常使用&#xff0c;特别是使用频繁的APP。 iPhone 14微信闪退是什么原因造成的&#xff1f;iPhone 14微信闪退怎么办&#xff1f; 一、缓存垃圾过多 …

Qt扫盲-QLinkedList理论总结

QLinkedList理论总结一、概述二、使用说明1. 声明链表2. 获取元素、链表信息3. 删除元素4. 添加元素5. 遍历元素一、概述 QLinkedList是Qt的泛型容器类之一。它存储一个值列表&#xff0c;并提供基于迭代器的访问以及常量时间的插入和删除。 QList、QLinkedList和QVector提供类…

JavaScript刷LeetCode模板技巧篇(一)

虽然很多人都觉得前端算法弱&#xff0c;但其实 JavaScript 也可以刷题啊&#xff01;最近两个月断断续续刷完了 leetcode 前 200 的 middle hard &#xff0c;总结了一些刷题常用的模板代码。 常用函数 包括打印函数和一些数学函数。 const _max Math.max.bind(Math); co…

【C++】stack和queue

文章目录前言&#xff08;重点&#xff09;一、stack1、 stack的介绍2、queue的使用3、stack的模拟实现二、queue1、queue的介绍2、queue的使用3、queue的模拟实现三、容器适配器1、什么是容器适配器呢&#xff1f;2、STL标准库中stack和queue的底层结构四、deque1、deque的原理…

设计模式之单例模式(懒汉, 饿汉)

文章目录一. 单例模式概述二. 单例模式的实现1. 饿汉模式2. 懒汉模式一. 单例模式概述 单例模式是一种常用的软件设计模式, 该模式的主要目的是确保某一个类在内存中只能有一个实例对象, 通过单例模式的方法创建的类在当前进程中只有一个实例对象. 常见的单例模式有两种: 饿…

制作系统安装(微软操作系统系统)

系统安装制作步骤 准备工具&#xff1a;笔记本电脑 8G以上u盘 镜像ISO文件 微软系统下载&#xff1a;https://msdn.itellyou.cn/ 复制连接到迅雷下载&#xff0c;进行系统镜像下载。 U盘制作工具下载和制作&#xff1a; 制作工具网站下载&#xff1a;http://rufus.ie/zh/ 准…

MySQL避免插入重复数据

新建一张测试表&#xff0c;有三个字段&#xff0c;自增主键id、创建了唯一索引的user_name、以及普通字段address。然后插入一条数据作为原始数据&#xff0c;如下所示 1、insert ignore into 基于索引字段数据进行判断&#xff0c;如果索引数据存在&#xff0c;那么忽略本…

CSS单行/多行文本溢出隐藏

前言 在日常开发展示页面&#xff0c;如果一段文本的数量过长&#xff0c;受制于元素宽度的因素&#xff0c;有可能不能完全显示&#xff0c;为了提高用户的使用体验&#xff0c;这个时候就需要我们把溢出的文本显示成省略号 对于文本的溢出&#xff0c;我们可以分成两种形式…

jetson nano安装远程桌面,Qt,pytorch,tensorflow,virtualenv等

文章目录基于jetPack版本4.6.1一.基础组件配置检查二.基础组件安装1.安装pip32.安装python-opencv与机器学习常用包3.安装pytorch方法1&#xff08;失败&#xff09;方法2&#xff08;成功&#xff09;4.安装tensorflow-gpu5.安装QT6.板载摄像头使用7.安装中文输入法8.安装截图…

网络爬虫入门到实战

简介 数据采集文章 开始 入门程序 环境准备 pip3 install beautifulsoup4 基本操作 from urllib.request import urlopen from bs4 import BeautifulSouphtml urlopen("http://www.baidu.com") # print(html.read()) (打印html完整内容) bsObj BeautifulSou…

服务熔断和服务降级

服务之间是可以相互调用的&#xff0c;如果底层的服务出现了问题&#xff0c;那么他的上层服务也就会出问题 为了解决分布式系统的雪崩问题&#xff0c;SpringCloud提供了Hystrix熔断器组件 服务降级 服务降级并不会直接返回错误&#xff0c;而是提供一个补救措施&#xff0c…

简洁明了的ReentrantReadWriteLock总结

&#x1f473;我亲爱的各位大佬们好 ♨️本篇文章记录的为 ReentrantReadWriteLock 相关内容&#xff0c;适合在学Java的小白,帮助新手快速上手,也适合复习中&#xff0c;面试中的大佬&#x1f649;&#x1f649;&#x1f649;。 ♨️如果文章有什么需要改进的地方还请大佬不吝…

王爽汇编(第四版)实验八

文章目录前言一、题目二、分析1.初始时指令存储情况2.运行时指令存储情况总结前言本文是学习王爽老师《汇编语言》(第四版)第九章 实验8 分析一个奇怪的程序 时的相关代码及分析。一、题目分析程序&#xff0c;思考程序是否可以正确返回&#xff1b;运行后再思考&#xff0c;为…

胭脂茉莉点评推荐上海大学法院李本教授诗集《秋月曲》诗歌6首

胭脂茉莉&#xff08;右&#xff09;和李本教授&#xff08;左&#xff09;于2019年冬天在上海留影胭脂茉莉 &#xff0c;女 &#xff0c;江苏人&#xff0c;年少习诗&#xff0c;作家、诗人。评论及随笔见诸媒体及报刊 。诗歌先后被选编入海内外多种选本及刊物&#xff0c;主要…

【我的渲染技术进阶之旅】glfw库简单介绍

文章目录一、为啥去了解glfw?二、glfw相关资料三、glfw简单示例1. 引入 GLFW 头文件2. 初始化和终止 GLFW3. 设置错误回调4. 创建窗口和上下文5.使 OpenGL 上下文成为当前上下文6. 检查窗口关闭标志7.接收输入事件8.使用 OpenGL 渲染9. 读取定时器10.交换缓冲区11. 处理事件12…