博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mysql中int(1) int(5)中括号数字作用
阅读量:6040 次
发布时间:2019-06-20

本文共 933 字,大约阅读时间需要 3 分钟。

今天在处理数据库问题的时候,发现对于某个字段sort 在初始化时,是int(1),但是仍然存进去了超过9的数字,存入99依然可以,那我要这1又有何用呢?他到底能存多少长度?

在查阅了网上的资料后发现:

int(1),这个长度1并不代表允许存储的宽度

首先搬运一个整数类型存储和范围:

(PS:MD里面的表格真难用啊,还不如去前端编辑器里先处理好再复制出来)

类型
字节
最小值
最大值
(带符号的/无符号的)
(带符号的/无符号的)
TINYINT
1
-128
127
0
255
SMALLINT
2
-32768
32767
0
65535
MEDIUMINT
3
-8388608
8388607
0
16777215
INT
4
-2147483648
2147483647
0
4294967295
BIGINT
8
-9223372036854775808
9223372036854775807
0
18446744073709551615

表格一共有四列分别表式:字段类型, 占用字节数, 允许存储的最小值, 允许存储的最大值.

我们拿int类型为例:
int类型, 占用字节数为4byte, 学过计算机原理的同学应该知道, 字节(byte)并非是计算机存储的最小单位, 还有比字节(byte)更小的单位, 也就是位(bit),一个位就代表一个0或1; 8个位组成一个字节; 一般字节用大写B来表示byte, 位用小写b来表示bit.
计算机存储单位的换算:
1B=8b
1KB=1024B
1MB=1024KB
那么根据int类型允许存储的字节数是4个字节, 我们就能换算出int UNSIGNED(无符号)类型的能存储的最小值为0, 最大值为4294967295(即4B=32b, 最大值即为32个1组成);

那么在这里究竟这里int(1) 和int (5) int(10) 有什么区别呢

这里的1和5和10 只是显示宽度,即如果我存储了 一个 9, 则在mysql中,其实int(1)的字段存储的是9,而int (5)存储的是00009,而int(10)存储的是00000000009.

其实他们存储的长度都是一样的,只是显示宽度不一样而已。

转载地址:http://xjwex.baihongyu.com/

你可能感兴趣的文章
Linux:命令执行控制&&与||
查看>>
麻球繁衍
查看>>
FreeRTOS栈溢出检查
查看>>
linux下,远程连接mysql
查看>>
浅谈js闭包(closure)
查看>>
【regex】POSIX标准正则表达式库
查看>>
C#集成FastReport.Net并将模板保存到数据库
查看>>
编程能力与编程年龄
查看>>
Hibernate中分页
查看>>
13_sqoop数据迁移概述
查看>>
函数嵌套-名称空间与作用域-函数对象-闭包函数
查看>>
机会啊,游戏啊,转吧,
查看>>
解决Windows10时间快和Ubuntu时间差
查看>>
流水灯实验
查看>>
让我们写的程序生成单个的exe文件(C#winform程序举例)
查看>>
可跨域的单点登录(SSO)实现方案【附.net代码】
查看>>
JAVA 设计模式 解释器模式
查看>>
InternetOpen|InternetOpenUrl|InternetReadFile-获取网页源代码
查看>>
【HDOJ】2103 Family planning
查看>>
Pentaho BIServer Community Edtion 6.1 使用教程 第二篇 迁移元数据 [HSQLDB TO MySQL]
查看>>