MySQL数据类型
概述
MySQL支持各种数据类型,用于定义表列中可以存储的数据类型。选择正确的数据类型对于数据完整性、存储效率和查询性能至关重要。
数据类型分类
MySQL数据类型分为几类:
数值类型 - 整数、浮点数和小数类型 字符串类型 - 字符和二进制字符串 日期和时间类型 - 日期、时间和日期时间值 空间类型 - 地理和几何数据 JSON类型 - 结构化数据存储
数值类型
整数类型
整数类型存储整数(正数和负数):
示例
浮点类型
浮点类型存储近似数值:
定点和数值类型
位值
布尔类型
MySQL使用TINYINT(1)表示布尔值:
字符串类型
字符字符串类型
CHAR与VARCHAR比较
文本类型
二进制字符串类型
ENUM类型
SET类型
日期和时间类型
日期和时间概述
DATE类型
TIME类型
DATETIME类型
TIMESTAMP类型
YEAR类型
JSON类型
MySQL 5.7.8+支持原生JSON数据类型:
空间类型
MySQL支持用于地理和几何数据的空间数据类型:
选择数据类型
最佳实践
使用适当的整数大小 - 选择适合数据范围的最小整数类型
对货币值使用DECIMAL - 浮点数不适合财务数据
对可变长度数据使用VARCHAR而不是CHAR - 节省存储空间
使用适当的TEXT类型 - 根据预期数据大小选择
对固定集合使用ENUM - 高效存储有限选项
适当使用DATETIME与TIMESTAMP - 考虑时区要求
对半结构化数据使用JSON - 灵活的模式
数据类型选择指南
小结
MySQL为各种数据存储需求提供全面的数据类型:
数值类型:从TINYINT到BIGINT,带有符号和无符号选项 字符串类型:CHAR、VARCHAR、TEXT满足不同长度需求 Time Types**: DATE, TIME, DATETIME, TIMESTAMP for temporal data / 日期/时间类型:DATE、TIME、DATETIME、TIMESTAMP用于时间数据 JSON类型:对半结构化数据的原生JSON支持 空间类型:地理和几何数据支持 SET**: Predefined value sets / ENUM/SET:预定义值集
选择正确的数据类型会影响:
存储效率 查询性能 数据完整性 应用程序功能
下一步
create-database.md)以了解如何创建和管理MySQL数据库。
上一个:选择数据库
下一个:创建表