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 为位数