数值类型
类型 | 存储空间 | 范围(有符号) | 范围(无符号) | 用途 |
---|---|---|---|---|
TINYINT | 1字节 | -128 到 127 | 0 到 255 | 小整数值 |
SMALLINT | 2字节 | -32,768 到 32,767 | 0 到 65,535 | 大整数值 |
MEDIUMINT | 3字节 | -8,388,608 到 8,388,607 | 0 到 16,777,215 | 大整数值 |
INT/INTEGER | 4字节 | -2^31 到 2^31-1 | 0 到 2^32-1 | 大整数值 |
BIGINT | 8字节 | -2^63 到 2^63-1 | 0 到 2^64-1 | 极大整数值 |
FLOAT | 4字节 | ±1.175494351E-38 到 ±3.402823466E+38 | 0 和 正浮点数范围 | 单精度浮点数 |
DOUBLE | 8字节 | ±2.2250738585072014E-308 到 ±1.7976931348623157E+308 | 0 和 正浮点数范围 | 双精度浮点数 |
DECIMAL/NUMERIC | 变长 | 取决于精度和标度的定义 | 取决于精度和标度的定义 | 精确小数值 |
日期和时间类型
类型 | 存储空间 | 格式 | 范围 | 用途 |
---|---|---|---|---|
DATE | 3字节 | YYYY-MM-DD | 1000-01-01 到 9999-12-31 | 日期值 |
TIME | 3字节 | HH:MM:SS | -838:59:59 到 838:59:59 | 时间值 |
DATETIME | 8字节 | YYYY-MM-DD HH:MM:SS | 1000-01-01 00:00:00 到 9999-12-31 23:59:59 | 日期和时间值 |
TIMESTAMP | 4字节 | YYYY-MM-DD HH:MM:SS | 1970-01-01 00:00:01 UTC 到 2038-01-19 03:14:07 UTC | 时间戳 |
YEAR | 1字节 | YYYY | 1901 到 2155 | 年份值 |
字符串类型
类型 | 最大长度 | 存储特点 | 用途 |
---|---|---|---|
CHAR(M) | 0-255字符 | 固定长度 | 定长字符串 |
VARCHAR(M) | 0-65,535字符 | 可变长度 | 变长字符串 |
TINYTEXT | 255字符 | 可变长度 | 短文本字符串 |
TEXT | 65,535字符 | 可变长度 | 长文本字符串 |
MEDIUMTEXT | 16,777,215字符 | 可变长度 | 中等长度文本 |
LONGTEXT | 4,294,967,295字符 | 可变长度 | 极大文本数据 |
二进制类型
类型 | 最大长度 | 存储特点 | 用途 |
---|---|---|---|
BINARY(M) | M字节 | 固定长度 | 定长二进制字符串 |
VARBINARY(M) | M字节 | 可变长度 | 变长二进制字符串 |
TINYBLOB | 255字节 | 可变长度 | 短二进制数据 |
BLOB | 65,535字节 | 可变长度 | 二进制长对象 |
MEDIUMBLOB | 16,777,215字节 | 可变长度 | 中等长度二进制数据 |
LONGBLOB | 4,294,967,295字节 | 可变长度 | 极大二进制数据 |
枚举和集合类型
类型 | 描述 | 最大值数量 | 用途 |
---|---|---|---|
ENUM | 从预定义列表中选择单个值 | 65,535个 | 单选列表 |
SET | 从预定义列表中选择多个值 | 64个 | 多选列表 |
JSON类型
类型 | 描述 | 可用版本 | 用途 |
---|---|---|---|
JSON | 原生JSON数据存储 | MySQL 5.7.8+ | 存储和管理JSON格式数据 |
空间数据类型
类型 | 描述 | 用途 |
---|---|---|
GEOMETRY | 任何空间值 | 通用空间数据类型 |
POINT | 单点坐标 | 表示地图上的点 |
LINESTRING | 点的线性连接 | 表示路线或路径 |
POLYGON | 多边形区域 | 表示区域边界 |
MULTIPOINT | 点的集合 | 表示多个地点 |
MULTILINESTRING | 线串的集合 | 表示多条路线 |
MULTIPOLYGON | 多边形的集合 | 表示多个区域 |
GEOMETRYCOLLECTION | 空间对象的集合 | 存储混合类型的空间数据 |