美文网首页
黑猴子的家:mysql 浮点型 和 定点型

黑猴子的家:mysql 浮点型 和 定点型

作者: 黑猴子的家 | 来源:发表于2019-02-27 10:20 被阅读5次

    选择数据类型的原则

    1、选择能存储数值的越小类型越好
    2、类型越简单越好
    

    1、数值型总结

    整型
    特点
    1.根据所占字节或保存的数值范围分类
    tinyint、smallint、mediumint、int/integer、bigint
    2.默认为有符号整型
    3.如果超过类型的范围,会报警告,插入临界值(最大值或最小值)
    4.如果想设置为无符号整型,则需要加上关键字unsigned
    5.每个整型可以设置显示的宽度,int默认为11.但只能加上zerofill才能有效果
    而且加上zerofill,默认为无符号整型
    

    2、浮点型和定点型

    1.分类
    浮点型:
        float(M,D)
        double(M,D)
    定点型:
        decimal(M,D)
    2.D表示小数位数,如果不够用0补齐,如果超过则四舍五入
      M表示整数位数+小数位数,整数部分如果超过,则报错,显示为临界值
      M和D 对于浮点型或定点型都可以省略
      但浮点型默认的精度为插入数值的精度,而定点型默认的精度为M=10,D=0
    3.定点型的精度表示更高,比较适合处理货币运算
    

    3、案例

    DROP TABLE IF EXISTS tab2;
    CREATE TABLE tab2(
        n1 FLOAT(5,2),
        n2 DOUBLE(5,2),
        n3 DECIMAL(5,2)
    )
    
    SHOW TABLES;
    SELECT * FROM tab2;
    
    INSERT INTO tab2 VALUES(123.45,123.45,123.45);
    INSERT INTO tab2 VALUES(123.4,123.4,123.4);
    INSERT INTO tab2 VALUES(123.456,123.456,123.456);
    INSERT INTO tab2 VALUES(1235.45,1235.45,1235.45);
    

    4、案例

    DROP TABLE IF EXISTS tab2;
    CREATE TABLE tab2(
        n1 FLOAT,
        n2 DOUBLE,
        n3 DECIMAL
    )
    
    INSERT INTO tab2 VALUES(1232345678.45,123453.45,12323456789.45);
    INSERT INTO tab2 VALUES(123.4,123.4,123.4);
    
    DROP TABLE tab1;
    CREATE TABLE tab1(
        T1 INT(8) ZEROFILL 
    )
    
    DESC tab1;
    INSERT INTO tab1 VALUES(1203);
    INSERT INTO tab1 VALUES(9000000000);
    SELECT * FROM tab1;
    

    相关文章

      网友评论

          本文标题:黑猴子的家:mysql 浮点型 和 定点型

          本文链接:https://www.haomeiwen.com/subject/yxdxuqtx.html