MySQL数据浮点类型的实际应用操作

  

下文主要给大家带来MySQL数据浮点类型的实际应用操作,希望这些内容能够带给大家实际用处,这也是我编辑MySQL数据浮点类型的实际应用操作这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。

1。背景

,*,MySQL支持的浮点类型中有单精度类型(浮动),双精度类型(双),和高精度类型(十进制),在数字货币类型中推荐使用高精度类型(十进制)来进行应用。

*, MySQL浮点型和定点型可以用类型名称后加(M, D)来表示,米表示该值的总共长度,维表示小数点后面的长度,M和D又称为精度和标度,如浮子(7,4)的可显示为-999.9999,MySQL保存值时进行四舍五入,如果插入999.00009,则结果为999.0001.FLOAT和双在不指定精度时,默认会按照实际的精度来显示,而十进制在不指定精度时,默认整数为10,小数为0。


2。整数类型所需的存储和值范围

类型占用空间精度精确性FLOAT4单精度精确到小数点后7位小数DOUBLE8双精度精确到小数点后15位小数小数变长高精度精确到小数点后65位小数

,

3。浮点数应用中的M/G * G(=|=!)(不一定等于)M

,M=3.1415 G=2.1542,统一精确到小数点后6位

,,*单精度(浮动)应用

*创建float_test表

 mysql>, CREATE  TABLE  float_test (
  ,,,,,m 浮动(10,6),
  ,,,,,g 浮动(10,6)
  ,,,,,)引擎=INNODB  CHARSET=utf8mb4;
  Query 好吧,,0,rows  affected  (0.06, sec) 

*插入m与g的数据

 mysql>, INSERT  INTO  float_test  SELECT  3.1415, 2.1542;
  Query 好吧,,1,row  affected (0.02,秒)
  记录:1,,重复:,0,,警告:0
  
  mysql>, select  *,得到float_test;
  + - - - - - - - - - - - - - - - - - - - - - - +
  |,m ,,,,,,, |, g ,,,,,, |
  + - - - - - - - - - - - - - - - - - - - - - - +
  | |,3.141500还以为;2.154200 |
  + - - - - - - - - - - - - - - - - - - - - - - +
  1,row  set 拷贝;(0.00,sec) 

*进行M/G * G运算

 mysql>, SELECT  m /, g  *, G, m 得到float_test;
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - +/|,m  g  *, g ,,, |, m ,,,,,, |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | |,3.1414999962还以为;3.141500 |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  1,row  set 拷贝;(0.00,sec) 


,,*双精度(double)应用

*创建double_test表

 mysql>, CREATE  TABLE  double_test (
  ,,,,,m 双(10,6),
  ,,,,,g 双(10,6)
  ,,,,,)引擎=INNODB  CHARSET=utf8mb4;
  Query 好吧,,0,rows  affected  (0.08, sec) 

*,插入m与g的数据

 mysql>, INSERT  INTO  double_test  SELECT  3.1415, 2.1542;
  Query 好吧,,1,row  affected (0.01,秒)
  记录:1,,重复:,0,,警告:0
  
  mysql>, select  *,得到double_test;
  + - - - - - - - - - - - - - - - - - - - - - - +
  |,m ,,,,,,, |, g ,,,,,, |
  + - - - - - - - - - - - - - - - - - - - - - - +
  | |,3.141500还以为;2.154200 |
  + - - - - - - - - - - - - - - - - - - - - - - +
  1,row  set 拷贝;(0.00,sec) 

*,进行M/G * G运算

 mysql>, SELECT  m /, g  *, G, m 得到double_test;
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - +/|,m  g  *, g ,,, |, m ,,,,,, |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  | |,3.1415000000还以为;3.141500 |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - +
  1,row  set 拷贝;(0.01,sec) 


,,*高精度(十进制)应用

*,创建decimal_test表

 mysql>, CREATE  TABLE  decimal_test (
  ,,,,,m 小数(10,6),
  ,,,,,g 小数(10,6)
  ,,,,,)引擎=INNODB  CHARSET=utf8mb4;
  Query 好吧,,0,rows  affected  (0.05, sec) 

*,插入m与g的数据

 mysql>, INSERT  INTO  decimal_test  SELECT  3.1415, 2.1542;
  Query 好吧,,1,row  affected (0.02,秒)
  记录:1,,重复:,0,,警告:0
  
  mysql>, SELECT  *,得到decimal_test;
  + - - - - - - - - - - - - - - - - - - - - - - +
  |,m ,,,,,,, |, g ,,,,,, |
  + - - - - - - - - - - - - - - - - - - - - - - +
  | |,3.141500还以为;2.154200 |
  + - - - - - - - - - - - - - - - - - - - - - - +
  1,row  set 拷贝;(0.00,sec) 

*,进行M/G * G运算

 mysql>, SELECT  m /, g  *, G, m 得到decimal_test;
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +/|,m  g  *, g ,,,,,,,,, |, m ,,,,,, |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
  | |,3.1415000000000000还以为;3.141500 |
  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
  1,row  set 拷贝;(0.00,sec) 

MySQL数据浮点类型的实际应用操作