MySQL系列之数据类型(Numeric)

06-01 1385阅读

导览

  • 前言
  • 一、数值类型综述
  • 二、数值类型详解
    • 1. NUMERIC
      • 1.1 UNSIGNED或SIGNED
      • 1.2 数据类型划分
      • 2. Integer类型取值和存储要求
      • 3. Fixed-Point类型取值和存储要求
      • 4. Floating-Point类型取值和存储要求
      • 结语
      • 精彩回放

        前言

        MySQL系列最近三篇均关注了和我们日常工作或学习密切相关的安全话题,通过介绍相关领域知识或实践,为有需要的盆友提供便捷的参考方案。

        从本文开始,博主打算换个“口味”,正如吃饭需要“酸甜苦辣咸”一样,数据类型(Data Types)是MySQL存储的基本标准。今天博主带着各位先深入学习其中之一:Numeric。

        MySQL系列之数据类型(Numeric)

        一、数值类型综述

        MySQL支持数值类型,主要包括两类:

        • 精确的数值数据类型:

          INTEGER、SMALLINT、DECIMAL和NUMERIC

        • 近似的数值数据类型:

          FLOAT、REAL和DOUBLE PRECISION

          二、数值类型详解

          1. NUMERIC

          1.1 UNSIGNED或SIGNED

          Numeric类型允许UNSIGNED(无符号)和SIGNED(有符号)。其中SIGNED是默认属性,UNSIGNED用于限制数值为非负。它们的区别就是UNSIGNED扩展了整型数据的可用范围,但是并没有改变类型存储的数据范围。

          1.2 数据类型划分

          Numeric包括以下主要的数据类型:

          类型说明
          BIT位,取值[1,64],默认是1
          TINYINT短整数,取值[-128,127] ;如无符号,取值[0,255]
          BOOL,BOOLEAN等同TINYINT[1],0代表false,非0代表1
          SMALLINT短整数,取值[-32768,32767] ;如无符号,取值[0,65535]
          MEDIUMINT中等整数,取值[-8388608,8388607] ;如无符号,取值[ 0,16777215]
          INT,INTEGER正常整数,取值[-2147483648,2147483647] ;如无符号,取值[ 0,4294967295]
          BIGINT长整数,取值[ -9223372036854775808,9223372036854775807] ;如无符号,取值[0,18446744073709551615]
          DECIMAL一个“固定”的浮点数,支持的最大长度65(默认10),最大的小数位数30(默认0)
          FLOAT一个单精度浮点数,取值[3.402823466E+38,-1.175494351E-38]和[1.175494351E-38,3.402823466E+38],可精确到小数点7位左右。该类型的数据精度随硬件或操作系统的差异会有所不同
          DOUBLE一个双精度浮点数,取值[-1.7976931348623157E+308,-2.2250738585072014E-308]和[0,2.225073585072014E-308-1797693134863157E+308],可精确到小数点15位左右

          2. Integer类型取值和存储要求

          MySQL系列之数据类型(Numeric)

          3. Fixed-Point类型取值和存储要求

          DECIMAL和NUMERIC类型可以存储精确的浮点数据,如金额类数据。比如创建一个注册资本字段:regcap decimal(10,2),代表长度为10位,并保留2位小数。

          提示:在MySQL中,NUMERIC等同于DECIMAL。

          4. Floating-Point类型取值和存储要求

          FLOAT和DOUBLE类型表示近似的数值。在MySQL中,使用四个字节表示单精度值,八个字节表示双精度值。

          比如我们定义一个类型为*float(10,5)*的字段,实际会存入一个近似值。

          结语

          本文对MySQL数据类型中的Numeric进行了说明,可以指导我们在建库建表的时候,针对不同业务字段设计不同的Numeric类型。

          走过的、路过的盆友们,点点赞,收收藏,并加以指导,以备不时之需哈~


          精彩回放


          MySQL系列之远程管理(安全)

          MySQL系列之身份鉴别(安全)

          MySQL系列之数据授权(安全)

          MySQL系列之如何在Linux只安装客户端

          MySQL系列之如何正确的使用窗口函数(基于8.0版本)

          MySQL系列之数据导入导出

          MySQL系列之索引入门(上)

          MySQL系列之索引入门(下)


          MySQL系列之数据类型(Numeric)

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码