千家信息网

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

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,下文主要给大家带来MySQL数据浮点类型的实际应用操作,希望这些内容能够带给大家实际用处,这也是我编辑MySQL数据浮点类型的实际应用操作这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。1.
千家信息网最后更新 2025年11月10日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安全错误 数据库的锁怎样保障安全 dhcp服务器电脑配置 嘉兴运行智慧小区软件开发 烟台软件开发有限公司 网络安全最简单的手抄报字体 软件开发厂商交付给用户 徐汇区软件开发技术服务业务 区块链技术如何成为网络安全 凡尔网络技术服务部 网络安全知识资料库 六安公司二手服务器回收最新价格 云南便民平台软件开发 用登录名怎么创建新的数据库 91xyz服务器网站 国家教学基本状态数据库 数据库是excel的功能吗 如何才能增强网络安全 计算机应用软件开发大概要多少钱 上海同邻互联网科技有限公司电话 入门网络安全的书 供热软件开发公司电话 山东亿嘉信网络技术有限公司 盐城高性能服务器直销 手机修改本地数据库文件夹 web服务器能ping通吗 如何通过病毒加密数据库 网络安全武大和华科哪个强 服务器端口对应服务 瘦客户机服务器搭建 上海互联网科技大会 苏州阿里云平台服务器
0