MySQL各数据类型所占字节数

一、数字类型

类型 占用字节 表示范围
TINYINT 1个字节 -128~127
SMALLINT 2个字节 -32768~32767
MEDIUMINT 3个字节 -8388608~8388607
INT 4个字节 -2147483648~2147483647
BIGINT 8个字节 -9223372036854775808~9223372036854775807
FLOAT(X) 4(X < = 24) 或 8( 25 < = X < = 53 )
FLOAT 4 个字节
DOUBLE 8 个字节
DOUBLE PRECISION 8 个字节
REAL 8 个字节
DECIMAL(M,D) M字节(D+2 , 如果M < D)
NUMERIC(M,D) M字节(D+2 , 如果M < D)

二、字符串类型

类型 占用字节 表示范围
CHAR(M) 与字符集相关(单行不能超过65535个字节) 1 <= M <= 255
VARCHAR(M) 与字符集相关(单行不能超过65535个字节) 1 <= M <= 255
TINYBLOB, TINYTEXT L+1 字节 L< 2 ^ 8(255B)
BLOB, TEXT L+2 字节 L< 2 ^ 16(64K)
MEDIUMBLOB, MEDIUMTEXT L+3 字节 L< 2 ^ 24(16M)
LONGBLOB, LONGTEXT L+4 字节 L< 2 ^ 32(4G)
ENUM('value1','value2',...) 1 或 2 个字节, 取决于枚举值的数目(最大值65535)
SET('value1','value2',...) 1,2,3,4或8个字节, 取决于集合成员的数量(最多64个成员)

另外,当varchar太大时,会自动转化为text
大于varchar(255)变为 tinytext
大于varchar(500)变为 text
大于varchar(20000)变为 mediumtext

三、日期和时间类型
DATE 3 个字节
DATETIME 8 个字节
TIMESTAMP 4 个字节
TIME 3 个字节
YEAR 1 字节

来源:https://blog.csdn.net/qq_33616529/article/details/78288787?utm_source=copy

你可能感兴趣的:(MySQL各数据类型所占字节数)