首页/ 学科题库/ mysql/ MySQL 浮点数类型
mysql 实战教程

MySQL 浮点数类型

2026-05-15 约 6 分钟 juanwangdev

MySQL 浮点数类型

MySQL 浮点数类型用于存储带小数的数值,分近似值和精确值两类。

类型对照表

类型字节精度用途
FLOAT4单精度科学计算
DOUBLE8双精度科学计算
DECIMAL可变精确值金额计算

基本语法

SQL
-- 浮点数定义
CREATE TABLE measurements (
    temp FLOAT,
    distance DOUBLE,
    price DECIMAL(10, 2)  -- 总共10位,小数2位
);

-- 插入数据
INSERT INTO measurements VALUES (36.5, 1234.5678, 99.99);

FLOAT 与 DOUBLE

SQL
-- FLOAT 单精度(约7位有效数字)
CREATE TABLE sensor_data (
    temperature FLOAT,
    humidity FLOAT
);

-- DOUBLE 双精度(约15位有效数字)
CREATE TABLE scientific_data (
    measurement DOUBLE,
    coefficient DOUBLE
);

DECIMAL 精确值

SQL
-- DECIMAL 用于金额等需要精确计算的场景
CREATE TABLE orders (
    id INT,
    amount DECIMAL(10, 2),    -- 最大99999999.99
    tax_rate DECIMAL(5, 4)    -- 如 0.0825
);

INSERT INTO orders VALUES (1, 1234.56, 0.0825);

-- 精确计算示例
SELECT amount * tax_rate AS tax FROM orders WHERE id = 1;

金额等财务数据必须使用 DECIMAL,避免 FLOAT/DOUBLE 的精度丢失。

要点总结

  • FLOAT/DOUBLE 是近似值,可能存在精度丢失
  • DECIMAL 是精确值,适合金额计算
  • DECIMAL(M, D) 中 M 是总位数,D 是小数位数
  • 科学计算用 FLOAT/DOUBLE,财务计算用 DECIMAL
想在手机上练这篇的配套题目?
使用微信 卷王开发者小程序/App,首页顶部扫一扫识别下方二维码,即可解锁本讲对应真题与错题本。
了解产品 App
← 上一篇 MySQL 整数类型 下一篇 → MySQL 字符串类型