MySQL数据类型分数值、字符串、日期时间三类。数值型包括TINYINT到BIGINT及FLOAT、DOUBLE、DECIMAL,适用于不同范围和精度的数字存储;字符串型有CHAR、VARCHAR、TEXT系列及ENUM、SET,适应从固定长度到超长文本的存储需求;日期时间型涵盖DATE、TIME、DATETIME、TIMESTAMP等,满足多种时间精度与用途。合理选择类型可提升性能、节省空间并保障数据完整性,如金额用DECIMAL,状态用TINYINT或ENUM,文章用TEXT,日志时间用TIMESTAMP。

MySQL 支持多种数据类型,主要用于定义表中字段的种类。这些数据类型大致可以分为三大类:数值类型、字符串(字符)类型和日期时间类型。合理选择数据类型有助于提升数据库性能、节省存储空间并保证数据完整性。
数值类型
用于存储数字数据,支持整数和浮点数。
- TINYINT:非常小的整数,占用1字节,有符号范围是 -128 到 127,无符号是 0 到 255。适合状态标记等小范围值。
- SMALLINT:小整数,占用2字节,有符号范围为 -32,768 到 32,767。
- MEDIUMINT:中等整数,占用3字节,有符号范围约 -8百万到 8百万。
- INT 或 INTEGER:标准整数,占用4字节,有符号范围约为 -21亿到 21亿,常用于主键。
- BIGINT:大整数,占用8字节,适合超大数值,如用户ID在分布式系统中。
- FLOAT(M,D):单精度浮点数,用于近似数值,M表示总位数,D为小数位数。
- DOUBLE(M,D):双精度浮点数,精度高于FLOAT,适合科学计算。
- DECIMAL(M,D):精确小数类型,常用于金额、财务数据,避免浮点误差。
字符串类型
用于存储文本或字符数据,根据长度和用途不同有多种选择。
前台功能介绍:1、网页首页显示有高级会员推荐,精品推荐,商业机会分类列表,最新供求信息,网站动态,推荐企业,行业动态等;2、商业机会栏目功能有:二级分类,已经带有详细分类的数据库,后台可以更改增加操作,并可以推荐公司,栏目分为分类显示信息,最新的采购、供应、合作和代理信息,搜索时同样按分类,信息,时间,交易类型等搜索;3、展厅展品栏目功能:二级分类,已经带有详细分类的数据库,后台可以更改增加操作,
- CHAR(N):定长字符串,最大255字符,N指定长度,不足补空格,适合固定长度内容如性别、编号。
- VARCHAR(N):变长字符串,最大长度受行大小限制(通常65,535字节),节省空间,常用作姓名、描述等。
- TINYTEXT:小型文本,最大255字节,适合短文本内容。
- TEXT:普通文本,最大约65KB,用于文章正文、评论等。
- MEDIUMTEXT:中型文本,最大约16MB,适合存储较长内容如日志。
- LONGTEXT:大型文本,最大约4GB,用于存储超长文本。
- ENUM:枚举类型,只能从预定义列表中选一个值,如 ENUM('男','女'),节省空间且提高数据一致性。
- SET:集合类型,可存储多个预定义值中的任意组合,最多64个成员。
日期和时间类型
用于处理时间相关数据,每种类型有不同的精度和范围。
- DATE:只存储日期,格式 'YYYY-MM-DD',范围从 '1000-01-01' 到 '9999-12-31'。
- TIME:只存储时间,格式 'HH:MM:SS',也可表示经过的时间间隔。
- YEAR:存储年份,可为2位或4位格式,推荐使用4位避免歧义。
- DATETIME:日期和时间组合,格式 'YYYY-MM-DD HH:MM:SS',范围大但不带时区。
- TIMESTAMP:时间戳类型,自动记录行修改时间,范围较小('1970' 到约 '2038'),受时区影响,常用于日志记录。
基本上就这些。选择合适的数据类型要考虑实际业务需求、数据范围、是否需要精度以及后续查询效率。比如金额用 DECIMAL,状态用 TINYINT 或 ENUM,文章内容用 TEXT,时间记录优先考虑 TIMESTAMP 或 DATETIME。正确使用类型能有效提升 MySQL 的稳定性和性能。









