快捷搜索:  手机  明星

mysql不同版本int类型区别(mysql中inttinyint)

mysql不同版本int类型区别(mysql中inttinyint)无符号:0~16777215。有符号:-8388608~8388607;有符号:-32768~32767;无符号:0~65535。2、mediumint(M) M默认为11,存储占3个字节

mysql不同版本int类型区别(mysql中inttinyint)(1)

一、存储大小不同
  • 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 最大可能显示的数字个数,数值的位数小于指定的宽度时会由空格填充。

如果插入了大于显示宽度的值,只要该值不超过该类型整数的取值范围,数值依然可以插入,而且能够显示出来。

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

mysql不同版本int类型区别(mysql中inttinyint)(2)

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;

猜您喜欢: