MySQL 中的数据类型介绍

mysql 整形的长度问题

  • tinyint
    有符号的范围是-128至127;
    无符号的范围是0到255,2的8 次方-1;
    存储大小为 1 字节。
  • smallint
    有符号的范围是-32768至32767;
    无符号的范围是0到65535,2的16次方-1;
    存储大小为 2 个字节。
  • mediumint
    有符号的范围是-8388608至8388607;
    无符号的范围是0到16777215,2的24次方-1;
    存储大小为 3 个字节。
  • int
    有符号的范围是-2147483648至2147483647;
    无符号的范围是0到4294967295,2的32次方-1;
    存储大小为 4 个字节。
  • bigint
    有符号的范围是-9223372036854775808至9223372036854775807;
    无符号的范围是0到18446744073709551615,2的64次方-1;
    存储大小为 8 个字节。

补充说明

  • mysql 中int(1)和tinyint(1)中的1只是指定显示长度,并不表示存储长度,只有字段指定zerofill时有用。例如:int(3),如果实际值是2,如果列指定了zerofill,查询结果就是002,左边用0来填充。
  • 注意:手机号虽然一般为纯数字,但是位数较长,若用int类型,若字段设置无符号则会被存储成4294967295,int的最大值,所以如果想用整形可以使用bigint(1),不过一般网上资料显示手机号这个字段,为了避免各种问题,用varchar的更多一点。
posted @ 2017-05-10 09:27  绝技小嗨皮  阅读(240)  评论(0编辑  收藏  举报
Title