MySQL数值类型存储长度及范围
MySQL设置数值型列时,需要考虑到数值的范围,所以,数值类型就必然需要考虑,以下为MySQL数值类型的存储长度,当然存储长度基本决定着其值域范围,本文节选自MySQL官方网站,仅做汇总摘要整理.
一、TINYINT
1个字节存储,范围有符号-128-127,无符号0-255,还有一个类型是BOOL型,相当于TINYINT(1).
二、SMALLINT
2个字节存储,范围带符号的范围是-32768到32767,无符号的范围是0到65535.
三、MEDIUMINT
3个字节存储,范围带符号的范围是-8388608到8388607,无符号的范围是0到16777215.
四、INT,INTEGER
4个字节存储,范围带符号的范围是-2147483648到2147483647,无符号的范围是0到4294967295.
五、BIGINT
8个字节存储,范围带符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到18446744073709551615.
六、FLOAT(p)
如果0 <= p <= 24为4个字节,如果25 <= p <= 53为8个字节.
七、FLOAT
4个字节存储,范围允许的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38. //phpfensi.com
八、DOUBLE [PRECISION]
8个字节存储,范围允许的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308.
九、DECIMAL(M,D), NUMERIC(M,D)
压缩的"严格"定点数,变长类型。M是小数位数(精度)的总数,D是小数点(标度)后面的位数。小数点和(负数)的'-'符号不包括在M中。如果D是0,则值没有小数点或分数部分。DECIMAL整数最大位数(M)为65。支持的十进制数的最大位数(D)是30。如果D被省略, 默认是0。如果M被省略, 默认是10。如果指定UNSIGNED,不允许负值。
十、BIT(M)
大约(M+7)/8个字节存储,M表示每个值的位数,范围为从1到64,如果M被省略,默认为1.
热门评论