MySQL数据类型之数值数据类型

6 篇文章 0 订阅

文章目录

MySQL支持多个类别的SQL数据类型:数字类型、日期和时间类型、字符串(字符和字节)类型、空间类型和JSON数据类型。

数据类型的描述有下面几个规约:

  • 整数类型:M表示最大显示宽度。对于浮点和定点类型,M是可以存储的总位数(精度)。对于字符串类型,M是最大长度。M的最大允许值取决于数据类型。
  • D适用于浮点和定点类型,表示小数点后的数字位数(小数点位数)。最大值最大为30,但不能大于 M-2。
  • fsp适用于TIME、DATETIME和TIMESTAMP类型,表示小数秒精度,也就是秒的小数点后的数字位数。fsp 值(如果给定)必须在 0 到 6 的范围内。值为 0 表示没有小数部分。如果省略,则默认精度为 0。(这与标准SQL默认值6不同,以便与以前的MySQL版本兼容。
  • 方括号([])表示类型定义的可选部分。

1.数值类型

MySQL支持所有标准的SQL数值数据类型。这些类型包括确切的数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC)以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。关键字 INT 是 INTEGER 的同义词,关键字 DEC 和 FIXED 是 DECIMAL 的同义词。MySQL将DOUBLE视为DOUBLE PRECISION(非标准扩展)的同义词。MySQL还将REAL视为DOUBLE PRECISION(非标准变体)的同义词,除非启用了REAL_AS_FLOAT SQL模式。

BIT 数据类型存储位值,并且 MyISAM、MEMORY、InnoDB 和 NDB 表支持该数据类型。

对于整数类型,M表示最大显示宽度。最大值为255。显示宽度与类型可以存储的值范围无关。

对于浮点和定点数据类型,M是可以可以存储的总位数。

下表中:[]为可选项,UNSIGNED为无符号,ZEROFILL为填充0。

类型存储(字节)解释
BIT[(M)]位值类型。M表示每个值的位数,从1到64。<br>如果省略M,默认值为1。
TINYINT[(M)] [UNSIGNED] [ZEROFILL]1一个很小的整数。无符号范围:0到255。有符号范围:-128到127。TINYINT(1)表示布尔值。
BOOL, BOOLEAN布尔值。这些类型和TINYINT(1)是同义。0为false,非0为true。
SMALLINT[(M)] [UNSIGNED] [ZEROFILL]2小整数。无符号范围:0到65535。有符号范围:-32768到32767。
MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]3中等整数。无符号范围:0到16777215。有符号范围:-8388608到8388607。
INT[(M)] [UNSIGNED] [ZEROFILL]4整数。无符号范围:0到4294967295。有符号范围:-2147483648到2147483647。
INTEGER[(M)] [UNSIGNED] [ZEROFILL]同INT
BIGINT[(M)] [UNSIGNED] [ZEROFILL]8大整数。无符号范围:0到18446744073709551615。有符号范围:-9223372036854775808到9223372036854775807。
DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]M+2压缩的"精确"定点数。M是总位数(精度,不包含小数点和符号),D是小数点之后的位数。D为0,则没有小数点或小数部分。M最大为65,D最大为30。M默认10,D默认0。
DEC同DECIMAL。
FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]4一个小的(单精度)浮点数。范围:-3.402823466E+38到-1.175494351E-38、0、1.175494351E-38到3.402823466E+38。符合IEEE标准。实际范围略小,取决于硬件和操作系统。M是总位数、D是小数点后的位数。省略M和D,则值将存储到硬件允许的限制。大约7位小数。
FLOAT§ [UNSIGNED] [ZEROFILL]浮点数。P表示以位为单位的精度。MySQL仅使用该值来确定是使用FLOAT还是DOUBLE作为结果。P从0到24,则用FLOAT,没有M或D值。如果P从25到32,则数据类型用DOUBLE,没有M或D值。
DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]8正常的浮点数(双精度)。值范围:-1.7976931348623157E+308到-2.2250738585072014E-308、0、2.2250738585072014E-308到1.7976931348623157E+308。符合IEEE标准。实际范围略小,取决于硬件和操作系统。M是总位数、D是小数点后的位数。省略M和D,则值将存储到硬件允许的限制。大约15位小数。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程还未

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值