根据数据类型和范围选择合适的数值类型:整数用TINYINT、SMALLINT、MEDIUMINT、INT或BIGINT;带小数且精度要求不高用FLOAT或DOUBLE;金额等精确值用DECIMAL,可避免精度丢失并节省存储空间。

在 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 或时间戳
浮点数类型(适用于带小数、精度要求不高的场景)
用于存储近似数值,适合科学计算等允许轻微误差的场景:
技术上面应用了三层结构,AJAX框架,URL重写等基础的开发。并用了动软的代码生成器及数据访问类,加进了一些自己用到的小功能,算是整理了一些自己的操作类。系统设计上面说不出用什么模式,大体设计是后台分两级分类,设置好一级之后,再设置二级并选择栏目类型,如内容,列表,上传文件,新窗口等。这样就可以生成无限多个二级分类,也就是网站栏目。对于扩展性来说,如果有新的需求可以直接加一个栏目类型并新加功能操作
- FLOAT:单精度浮点数,大约 7 位有效数字
- DOUBLE:双精度浮点数,大约 15 位有效数字,精度更高
定点数类型(适用于精确数值,如金额)
DECIMAL(M,D) 或 NUMERIC(M,D):存储精确的小数值,常用于财务数据
其中 M 是总位数,D 是小数点后的位数。例如 DECIMAL(10,2) 可存最多 8 位整数和 2 位小数(如 99999999.99)
如何选择?
根据实际需求判断:
- 年龄、状态码等小整数 → TINYINT
- 普通 ID、数量等 → INT
- 极大数值(如雪花 ID)→ BIGINT
- 价格、金额 → DECIMAL
- 科学计算、允许误差 → FLOAT 或 DOUBLE









