前言
MySQL系列最近三篇均关注了和我们一样平常工作或学习密切相关的安全话题,通过先容相关领域知识或实践,为有需要的盆友提供便捷的参考方案。
从本文开始,博主计划换个“口味”,正如用饭需要“酸甜苦辣咸”一样,数据范例(Data Types)是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],默认是1TINYINT短整数,取值[-128,127] ;如无符号,取值[0,255]BOOL,BOOLEAN等同TINYINT[1],0代表false,非0代表1SMALLINT短整数,取值[-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范例取值和存储要求
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系列之索引入门(下)
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |