一、数字类型
类型 | 占用字节 | 表示范围 |
---|---|---|
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