千家信息网

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

发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,下文主要给大家带来MySQL数据浮点类型的实际应用操作,希望这些内容能够带给大家实际用处,这也是我编辑MySQL数据浮点类型的实际应用操作这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。1.
千家信息网最后更新 2025年02月16日MySQL数据浮点类型的实际应用操作

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

1. 背景

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

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


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

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


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

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

* 单精度(float)应用

   * 创建float_test 表

mysql> CREATE TABLE float_test(    -> m FLOAT(10,6),    -> g FLOAT(10,6)    -> )ENGINE=INNODB CHARSET=utf8mb4;Query OK, 0 rows affected (0.06 sec)

   * 插入 m 与 g 的数据

mysql> INSERT INTO float_test SELECT 3.1415,2.1542;Query OK, 1 row affected (0.02 sec)Records: 1  Duplicates: 0  Warnings: 0mysql> select * from float_test;+----------+----------+| m        | g        |+----------+----------+| 3.141500 | 2.154200 |+----------+----------+1 row in set (0.00 sec)

   * 进行 M / G * G 运算

mysql> SELECT m / g * g, m FROM float_test;+--------------+----------+| m / g * g    | m        |+--------------+----------+| 3.1414999962 | 3.141500 |+--------------+----------+1 row in set (0.00 sec)


* 双精度(double)应用

   * 创建double_test 表

mysql> CREATE TABLE double_test(    -> m DOUBLE(10,6),    -> g DOUBLE(10,6)    -> )ENGINE=INNODB CHARSET=utf8mb4;Query OK, 0 rows affected (0.08 sec)

   * 插入 m 与 g 的数据

mysql> INSERT INTO double_test SELECT 3.1415,2.1542;Query OK, 1 row affected (0.01 sec)Records: 1  Duplicates: 0  Warnings: 0mysql> select * from double_test;+----------+----------+| m        | g        |+----------+----------+| 3.141500 | 2.154200 |+----------+----------+1 row in set (0.00 sec)

   * 进行 M / G * G 运算

mysql> SELECT m / g * g, m FROM double_test;+--------------+----------+| m / g * g    | m        |+--------------+----------+| 3.1415000000 | 3.141500 |+--------------+----------+1 row in set (0.01 sec)


* 高精度(decimal)应用

   * 创建decimal_test 表

mysql> CREATE TABLE decimal_test(    -> m DECIMAL(10,6),    -> g DECIMAL(10,6)    -> )ENGINE=INNODB CHARSET=utf8mb4;Query OK, 0 rows affected (0.05 sec)

   * 插入 m 与 g 的数据

mysql> INSERT INTO decimal_test SELECT 3.1415,2.1542;Query OK, 1 row affected (0.02 sec)Records: 1  Duplicates: 0  Warnings: 0mysql> SELECT * FROM decimal_test;+----------+----------+| m        | g        |+----------+----------+| 3.141500 | 2.154200 |+----------+----------+1 row in set (0.00 sec)

   * 进行 M / G * G 运算

mysql> SELECT m / g * g, m FROM decimal_test;+--------------------+----------+| m / g * g          | m        |+--------------------+----------+| 3.1415000000000000 | 3.141500 |+--------------------+----------+1 row in set (0.00 sec)


4. 浮点类型应用总结

* 浮点数如果不写精度和标度,则会按照实际显示

 * 如果有精度和标度,则会将数据四舍五入后插入,系统不报错

 * DECIMAL如果不设置精度和标度,刚按照默认的(10,0)进行操作,如果数据超过了精度和标度值,则会报错。

* 账务、账务系统必须要用DECIMAL类型确定精确与资金安全。


5. 总结


以需求驱动技术,技术本身没有优略之分,只有业务之分。

对于以上关于MySQL数据浮点类型的实际应用操作,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。

类型 精度 应用 小数 数据 实际 浮点 精确 小数点 标度 高精 高精度 内容 单精度 运算 四舍五入 下文 技术 整数 点数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 吉林省广电网络技术大学 智能硬件java服务器 极品飞车19服务器 黑豆网络技术有限公司 软件开发者选项打开后怎么设置 软件开发项目人工统计 计算机网络安全慕课版答案石淑华 数据库管理优势不正确的是 潜力的深圳软件开发公司电话 starbase数据库说明什么 55025db2数据库 国防科技大学网络安全专业考研 网络技术专业有什么特长 中超联赛数据库 长春市软件开发商名单 高科技互联网团建活动产品 产生网络安全隐患的原因 满帮集团成都软件开发怎么样 wnd数据库收费标准 服务器配置与管理上机试题pdf 丰县软件开发培训学校 网络安全知识或防护技能 没有网络能连接数据库吗 服务器主板上的短路开机 生产管理erp软件开发 苏州程序软件开发哪家可靠 系统的基础数据库 哈工程网络安全大概多少分数 未成年涉及网络安全案例视频 人大金仓数据库监听端口
0