02-02-列类型(小数型)

小数类型

专门用来存储小数的,在MySQL中又将小数分为两类:小数型和定点型。

浮点型

浮点型又称之为精度类型:是一种肯能丢失精度的数据类型,即数据有可能不那么准确(尤其是在超出范围的时候)

浮点型之所以能存储较大的数值(不精确),原因就是利用存储数据的位来存指数。

整数型:一个字节所有的位都用来存放数据,精确

浮点型:比如float 一个字节有部分位是用来存放指数,其余部分用来存放数据,不精确

float

float又称之为单精度类型:系统提供四个字节(这个和int一样)来存储数据,但是能表示的数据范围比整形大的多。范围是10^38,缺点是只能保证大概7个左右精确度(即:数据在7位数以内基本是准确的,但是如果超过7位,那么就是不准确的)。

基本语法:

  • float 不指定小数位的浮点数

  • float(M,D) 表示一种存储M个有效数字,其中小数部分占D位

    float(10,2) 能表示的数据位整数部分8位,小数部分2两位

  1. 创建一个数据表保存浮点数据

    create table my_float(
    f1 float,
    f2 float(10,2)
    )charset=utf8;
    
  2. 插入合法数据

    insert into my_float values(123.123,12345678.90);
    
    

    在这里插入图片描述

    如果数据精度丢失,那么浮点型是按照四舍五入的方式进行计算。

  3. 插入数据,超出大小

    insert into my_float values(123.123,123456789.00);
    

    在这里插入图片描述

  4. 数据长度刚好满足,但是会超出精度

    insert into my_float values(123.123,99999999.99);
    

    在这里插入图片描述

    说明:用户不能插入数据直接超过指定的整数部分长度,但是如果系统自动进位导致,系统可以承担。

  5. 浮点数可以采用科学记数法来存储数据

    insert into my_float values(123.123,10e5);
    

    在这里插入图片描述

浮点数的应用:通常是用来保存一些数据量特别大,大到可以不用那么精确的数据。

double

double 又称为双精度:系统系统八个字节来存储数据,表示的范围是10^308,但是精度也只有15位左右。

定点数

定点数:能够保证数据精确的小数(小数部分可能不精确,超出长度会四舍五入),整数部分一定精确。

decimal

decimal定点数:系统自动根据存储的数据来分配存储空间,每大概9个数就会分配四个字节来进行存储,同时小数部分和整数部分是分开的。

decimal(M,D):M表示总长度,最长不能超过65个,D 代表小数部分长度,最长不能超过30位。

  1. 创建表:与浮点数对比

    create table my_decimal(
    f1 float(10,2),
    d1 decimal(10,2)
    )charset=utf8;
    
  2. 插入正常数据

    insert into my_decimal values(12345678.90,12345678.90);
    

    在这里插入图片描述

  3. 插入最大数据

    insert into my_decimal values(99999999.99,99999999.99);
    

    在这里插入图片描述

  4. 尝试定点数进行四舍五入

    insert into my_decimal values(99999999.99,99999999.999);
    

    在这里插入图片描述

定点数的应用:如果涉及到钱的时候有可能使用定点数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值