Skip to content

Mysql数据类型明细表 ​

这里我们通过 LLM 来梳理出 Mysql 的数据类型,通过分类+表格的形式让我们更清晰了解原委

数值类型 ​

1.1 整数类型 ​

类型存储空间取值范围(有符号)取值范围(无符号)
TINYINT1 字节-128 到 1270 到 255
SMALLINT2 字节-32,768 到 32,7670 到 65,535
MEDIUMINT3 字节-8,388,608 到 8,388,6070 到 16,777,215
INT4 字节-2,147,483,648 到 2,147,483,6470 到 4,294,967,295
BIGINT8 字节-2^63 到 2^63-10 到 2^64-1

1.2 浮点数类型 ​

类型存储空间说明
FLOAT4 字节单精度浮点数,精度约 7 位小数
DOUBLE8 字节双精度浮点数,精度约 15 位小数

1.3 定点数类型 ​

类型存储空间说明
DECIMAL(M,D)可变定点数,M 为总位数,D 为小数位数

2. 日期和时间类型 ​

类型存储空间格式说明
DATE3 字节YYYY-MM-DD仅存储日期
TIME3 字节HH:MM:SS仅存储时间
DATETIME8 字节YYYY-MM-DD HH:MM:SS存储日期和时间
TIMESTAMP4 字节YYYY-MM-DD HH:MM:SS存储日期和时间,范围较小,支持时区转换
YEAR1 字节YYYY仅存储年份

3. 字符串类型 ​

3.1 定长字符串 ​

类型存储空间说明
CHAR(M)M 字节定长字符串,M 为字符数

3.2 变长字符串 ​

类型存储空间说明
VARCHAR(M)可变变长字符串,M 为最大字符数

3.3 文本类型 ​

类型存储空间说明
TINYTEXT最大 255 字节短文本
TEXT最大 65,535 字节长文本
MEDIUMTEXT最大 16,777,215 字节中等长度文本
LONGTEXT最大 4,294,967,295 字节超长文本

4. 二进制类型 ​

4.1 定长二进制 ​

类型存储空间说明
BINARY(M)M 字节定长二进制数据

4.2 变长二进制 ​

类型存储空间说明
VARBINARY(M)可变变长二进制数据

4.3 二进制大对象(BLOB) ​

类型存储空间说明
TINYBLOB最大 255 字节短二进制数据
BLOB最大 65,535 字节二进制大对象
MEDIUMBLOB最大 16,777,215 字节中等长度二进制数据
LONGBLOB最大 4,294,967,295 字节超长二进制数据

5. JSON 类型 ​

类型存储空间说明
JSON可变存储 JSON 格式的数据

6. 枚举和集合类型 ​

6.1 枚举类型 ​

类型存储空间说明
ENUM('value1', 'value2', ...)1 或 2 字节枚举类型,只能存储指定的值

6.2 集合类型 ​

类型存储空间说明
SET('value1', 'value2', ...)1 到 8 字节集合类型,可以存储多个指定的值

7. 空间数据类型 ​

类型说明
GEOMETRY存储任意类型的几何数据
POINT存储一个点
LINESTRING存储一条线
POLYGON存储一个多边形
MULTIPOINT存储多个点
MULTILINESTRING存储多条线
MULTIPOLYGON存储多个多边形
GEOMETRYCOLLECTION存储多个几何对象

8. 其他类型 ​

类型说明
BOOLEANTINYINT(1) 的别名,存储布尔值
BIT(M)存储位字段,M 为位数