前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL技术大全读书笔记:MySQL数据类型【定点数类型】

MySQL技术大全读书笔记:MySQL数据类型【定点数类型】

作者头像
冷环渊
发布2021-11-22 09:26:30
3330
发布2021-11-22 09:26:30
举报

MySQL技术大全

前言 新开书籍笔记专栏:快来一起深耕技术吧

包着 阅读优秀开发书籍,提升自己对数据库的技术深度的心态 。 MySQL技术大全 跟着冰河大佬的这本书 重新回顾一遍mysql的知识。 相信每一次学习都会有新的细节。这个专栏就专门用来存放学习是记录都一些笔记, 篇幅不会太长,但是会不间断持续更新。

第三阶段 mysql开发 【数据类型】

定点数类型

简介

在 MySQL 中 只有一种那就是: DECIMAL(M,D), 其中 M被称为 精度 数据的总位数,D被称为 标度 代表数据的小数部分站的位数 定点数 在mysql内部是以字符串的形式进行储存的,它的精度比浮点数更加精确

适用场景 : 存储金额等需要高精度的数据。 特性: 存储数据都最大值和 double类型一样,但是他由 M,D来决定有效的数据范围, 而DECIMAL的存储空间并不是固定的,由精度M来决定总共占用的,存储空间为 M+2字节 如果没有设置 M,D的话 默认是 DECIMAL(10,0)

演示

我们创建 test1 表来演示定点数 创建出来的表结构

CREATE TABLE test1(
d1 DECIMAL,
d2 DECIMAL(5,2)
);
在这里插入图片描述
在这里插入图片描述

插入数据查看默认和设置的区别

INSERT INTO test1(d1,d2) VALUE(3.14,3.14)

这里插入数据都时候会有警告信息 提示你 d1 被截断了,因为默认的数据 小数点为0

在这里插入图片描述
在这里插入图片描述

这个时候我们查看数据 会发现 d1 只有3 d2 有 3.14

SELECT * FROM test1
在这里插入图片描述
在这里插入图片描述

这里 定点数类型的特性在脑袋里已经有了一个清晰的认识 以往sql的使用 很少接触 这是我第一次接触定点数 这里确实是学到了新的东西

小结

  • float和double 在不指定精度的情况话会按照计算机操作系统默认的精度表示。DECIMAL不指定精度的时候 默认是DECIMAL(10,0)
  • 数据类型长度一定的时候,浮点数能够表示数据范围更大,但是浮点数会引起精度问题,不适合储存高精度数据
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-11-21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MySQL技术大全
    • 前言 新开书籍笔记专栏:快来一起深耕技术吧
    • 第三阶段 mysql开发 【数据类型】
      • 定点数类型
        • 简介
      • 演示
        • 小结
        相关产品与服务
        云数据库 SQL Server
        腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档