百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> mysql的数字类型有哪些?
分享文章到:

mysql的数字类型有哪些?

发布时间:10/01 来源:未知 浏览: 关键词:

mysql的数字类型是:INT类型、TINYINT类型、SMALLINT类型、MEDIUMINT类型、BIGINT类型、FLOAT类型、DOUBLE类型、DECIMAL类型。

(引荐教程:mysql视频教程)

mysql的数字类型

1、mysql整数类型

整数类型又称数值型数据,数值型数据类型主要用来储备数字。

MySQL 供给了多种数值型数据类型,不一样的数据类型供给不一样的取值范畴,可以储备的值范畴越大,所需的储备空间也会越大。

MySQL 主要供给的整数类型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其属性字段可以增加 AUTO_INCREMENT 自增束缚前提。下表中列出了 MySQL 中的数值类型。

1.png

从上表中可以看到,不一样类型的整数储备所需的字节数不雷同,占用字节数最小的是 TINYINT 类型,占用字节最大的是 BIGINT 类型,占用的字节越多的类型所能表示的数值范畴越大。

按照占用字节数可以求出每一种数据类型的取值范畴。例如,TINYINT 需要 1 个字节(8bit)来储备,那么 TINYINT 无符号数的最大值为 28-1,即 255;TINYINT 有符号数的最大值为 27-1,即 127。其他类型的整数的取值范畴运算办法雷同,如下表所示。

2.png

提醒:显示宽度和数据类型的取值范畴是无关的。显示宽度只是指明 MySQL 最大大概显示的数字个数,数值的位数小于指定的宽度时会由空格填充。假如插入了大于显示宽度的值,只要该值不超越该类型整数的取值范畴,数值仍然可以插入,并且能够显示出来。例如,year 字段插入 19999,当使用 SELECT 查询该列值的时候,MySQL 显示的将是完全的带有 5 位数字的 19999,而不是 4 位数字的值。

其他整型数据类型也可以在定义表构造时指定所需的显示宽度,假如不指定,则系统为每一品种型指定默许的宽度值。

不一样的整数类型有不一样的取值范畴,并且需要不一样的储备空间,因此应按照实际需要选中最适宜的类型,这样有益于提高查询的效力和节约储备空间。

2、mysql小数类型

MySQL 中使用浮点数和定点数来表示小数。

浮点类型有两种,离别是单精度浮点数(FLOAT)和双精度浮点数(DOUBLE);定点类型只要一种,就是 DECIMAL。

浮点类型和定点类型都可以用(M, D)来表示,其中M称为精度,表示总共的位数;D称为标度,表示小数的位数。

浮点数类型的取值范畴为 M(1~255)和 D(1~30,且不克不及大于 M-2),离别表示显示宽度和小数位数。M 和 D 在 FLOAT 和DOUBLE 中是可选的,FLOAT 和 DOUBLE 类型将被留存为硬件所支撑的最大精度。DECIMAL 的默许 D 值为 0、M 值为 10。

下表中列出了 MySQL 中的小数类型和储备需求。

3.png

DECIMAL 类型不一样于 FLOAT 和 DOUBLE。DOUBLE 实际上是以字符串的情势存置的,DECIMAL 大概的最大取值范畴与 DOUBLE 雷同,但是有效的取值范畴由 M 和 D 决议。假如改动 M 而牢固 D,则取值范畴将随 M 的变大而变大。

从上表中可以看到,DECIMAL 的储备空间并不是牢固的,而由精度值 M 决议,占用 M+2 个字节。

FLOAT 类型的取值范畴如下:

  • 有符号的取值范畴:-3.402823466E+38~-1.175494351E-38。

  • 无符号的取值范畴:0 和 -1.175494351E-38~-3.402823466E+38。

DOUBLE 类型的取值范畴如下:

  • 有符号的取值范畴:-1.7976931348623157E+308~-2.2250738585072014E-308。

  • 无符号的取值范畴:0 和 -2.2250738585072014E-308~-1.7976931348623157E+308。

提醒:不管是定点还是浮点类型,假如会员指定的精度超出精度范畴,则会四舍五入停止处置。

FLOAT 和 DOUBLE 在不指定精度时,默许会依照实际的精度(由运算机硬件和操纵系统决议),DECIMAL 假如不指定精度,默许为(10,0)。

浮点数相关于定点数的长处是在长度必然的状况下,浮点数能够表示更大的范畴;缺陷是会引发精度问题。

最后再强调一下:在 MySQL 中,定点数以字符串情势储备,在对精度要求比力高的时候(如货币、科学数据),使用 DECIMAL 的类型比力好,别的两个浮点数停止减法和比力运算时也容易出问题,所以在使用浮点数时需要留意,并尽量幸免做浮点数比力。

以上就是mysql的数字类型是啥?的具体内容,更多请关注百分百源码网其它相关文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有157人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板