mysql数据类型

数据类型
1、有符号数计算原理如tinyint占1字节即8位:-2的7次方=-128~2的7次方-1=127
tinyint 占1字节 无符号数取值范围0~255,有符号数取值范围-128~127
smallint 占2字节无符号数取值范围0~65535,有符号数取值范围-32768~32768
mediumint 占3字节无符号数取值范围0~16777215,有符号数取值范围-8388608~8388608
int 占4字节无符号数取值范围0~4294967295,有符号数取值范围-2147483648~2147483647
bigint 占8字节无符号数取值范围0~18446744073709551615,
有符号数取值范围-9223372036854775808~9223372036854775807

2、默认显示宽度与其有符号数的最小值的显示宽度相同。因为此处负号是占一个位置的。在不指定宽度的情况下,类型都有默认的显示宽度。
默认:tinyint(4)、smallint(6)、mediumint(9)、int(11)、bigint(20),如int(4)是指定int类型的显示宽度为4。
当插入数据的显示宽度大于设置的显示宽度小于默认宽度时,数据依然可以插入,并显示正确的值,设置显示宽度在显示该记录时失效。数据宽度不能大于默认宽度。
  注意在navicate或者phpmyadmin中显示数据显示可能不正确,如果你加了zerofill,但是没有补充0,可以到mysql命令行中看下。

3、使用zerofill参数时,mysql会自动加上unsigned属性。那么该整数类型只能表示无符号数,其显示宽度比默认宽度小1。如:
create table pet49 (name tinyint zerofill);
insert into pet49 values(1);
mysql> select * from pet49;
+------+
| name |
+------+
|  001 |
+------+
1 row in set (0.00 sec)

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。