mysql不同版本int类型区别(mysql中inttinyint)
mysql不同版本int类型区别(mysql中inttinyint)无符号:0~16777215。有符号:-8388608~8388607;有符号:-32768~32767;无符号:0~65535。2、mediumint(M) M默认为11,存储占3个字节
- tinyint 存储占 1个字节
- smallint存储占 2个宇节
- mediumint 存储占 3个字节
- int (integhr) 存储占 4个字节
- bigint 存储占8个字节
1、tinyint(M) M默认为4,存储占1个字节
有符号:-128~127。
无符号:0~255。
1、smallint(M) M默认为6,存储占2个字节
有符号:-32768~32767;
无符号:0~65535。
2、mediumint(M) M默认为11,存储占3个字节
有符号:-8388608~8388607;
无符号:0~16777215。
3、int(M) M默认为11,存储占4个字节
有符号:-2147483648~2147483647;
无符号:0~4294967295。
4、bigint(M) M默认为20,存储占8个字节
有符号:-9223372036854775808~9223372036854775807;
无符号:0~18446744073709551615。
三、显示宽度和数据类型的取值范围是无关的显示宽度只是指明 MySQL 最大可能显示的数字个数,数值的位数小于指定的宽度时会由空格填充。
如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。
其他整型数据类型也可以在定义表结构时指定所需的显示宽度,如果不指定,则系统为每一种类型指定默认的宽度值。
CREATE TABLE `test_int` (
`id` int(11) NOT NULL AUTO_INCREMENT
`amount_1` int(1) unsigned zerofill NOT NULL DEFAULT '0'
`amount_3` int(11) unsigned zerofill NOT NULL DEFAULT '00000000000'
`amount_4` int(15) unsigned zerofill NOT NULL DEFAULT '000000000000000'
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
INSERT test_int ( amount_1 amount_3 amount_4 )
VALUES
( 9 9999 4294967295 );
SELECT
CONCAT( '-' amount_1 ) amount_1
CONCAT( '-' amount_3 ) amount_11
CONCAT( '-' amount_4 ) amount_15
FROM
test_int;