当前位置:首页 > 问答 > 正文

数据库|数据类型|mysql小数类型,mysql中小数类型详解及使用方法

MySQL小数类型

  1. FLOAT

    • 单精度浮点数
    • 存储范围:约 -3.402823466E+38 到 -1.175494351E-38(负值),0,1.175494351E-38 到 3.402823466E+38(正值)
    • 精度:约7位小数
    • 语法:FLOAT(M,D),M为总位数,D为小数位数
  2. DOUBLE

    数据库|数据类型|mysql小数类型,mysql中小数类型详解及使用方法

    • 双精度浮点数
    • 存储范围:约 -1.7976931348623157E+308 到 -2.2250738585072014E-308(负值),0,2.2250738585072014E-308 到 1.7976931348623157E+308(正值)
    • 精度:约15位小数
    • 语法:DOUBLE(M,D)
  3. DECIMAL(NUMERIC)

    • 精确小数类型,适用于财务计算
    • 存储格式:以字符串形式存储,避免浮点误差
    • 语法:DECIMAL(M,D),M为总位数(最大65),D为小数位数(最大30)

使用方法

  • 定义列

    数据库|数据类型|mysql小数类型,mysql中小数类型详解及使用方法

    CREATE TABLE example (  
        price FLOAT(10, 2),  
        tax DECIMAL(10, 2),  
        scientific_data DOUBLE(20, 10)  
    );  
  • 插入数据

    INSERT INTO example VALUES (1234.56, 789.01, 1.2345678901);  
  • 精度与取舍

    数据库|数据类型|mysql小数类型,mysql中小数类型详解及使用方法

    • FLOAT/DOUBLE 可能存在舍入误差,DECIMAL 精确存储
    • 超出小数位数时自动四舍五入

选择建议

  • 需要高精度(如货币) → DECIMAL
  • 科学计算,可接受微小误差 → FLOAT/DOUBLE
  • 存储空间:FLOAT < DOUBLE < DECIMAL

(注:信息基于MySQL官方文档及通用技术资料,截至2025-08适用)

发表评论