mysql中字段到底该怎么指定长度?

相信很多小伙伴在创建表的时候都给字段的类型指定过长度,但是大家可能都是随便指定的长度,或者照着别人的长度来给,比如一个int类型的字段,我们到底该如何指定长度呢?

其实这里有个误区,mysql中的基本类型都是定长的,比如int 就是4个字节,你定义int(1)和int(5)都是一样的int还是4个字节,取值范围为 (-2^31:-2 147 483 648, 2^31 - 1:2 147 483 647)和 (0,4 294 967 295),分别为无符号数和有符号数的取值范围,默认的就是无符号数,感兴趣的小伙伴可以试试。

那么这个int(m),m的设置的值到底有什么用,这个需要搭配字段的zerofill属性来使用,如果没有设置zerofill属性那么就是无用,m就是显示的长度,长度不够就在前面补0,超过就不补,比如888,那么显示就是00888,12345那么还是12345,有兴趣的小伙伴可以试试。

mysql的基本数据类型里几个int如下:
类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1字节 (-128,127) (0,255) 小整数值
SMALLINT 2 字节 ( -2^15 :-32 768,2^15 - 1:32 767) (0,65 535) 大整数值
MEDIUMINT 3 字节 (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER(int 的 SQL-92 同义字为 integer) 4 字节 (-2^31:-2 147 483 648, 2^31 - 1:2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 字节 (-2^63:-9 233 372 036 854 775 808,2^63-1:9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615) 极大整数值

这些类型,是定长的,其容量是不会随着后面的数字而变化的

原文连接:mysql中整数类型后面的数字,是不是指定这个字段的长度?比如int(11),11代表11个字节吗? - 空串串q42009013 - 博客园

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值