mysql 建表定义中 int(10),这个10代表啥?

Mysql数据表定义中我们经常用int(M),这个M默认是11,我们可以写10,或者3

 

这个东西对于mysql存储的数值没有任何影响,mysql存储的数值范围如下所示(32位系统),这个定义的唯一作用,需要与zerofill配合使用,如果启用了zerofill,就是当数值的位数<M的时候,左侧自动以0补齐,>M的时候没有任何作用,如果启用了zerofill,程序中对查询出的int值需要做intval处理才能正确使用,其实是一件比较坑爹的事情,所以基本没有人这么用

总结一句话就是,int(M),M其实对我们没有任何影响,建议大家定义表结构时忽略此值

 

1.BIT[M]

位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为1

2.TINYINT[(M)] [UNSIGNED] [ZEROFILL] M默认为4

很小的整数。带符号的范围是-128到127。无符号的范围是0到255。

3. BOOL,BOOLEAN

是TINYINT(1)unsigned的同义词。zero值被视为假。非zero值视为真。范围是-128到127

4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为6

小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。

5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默认为9

中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。

6. INT[(M)] [UNSIGNED][ZEROFILL]   M默认为11

普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。

7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20

大整数。带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值