1 .在1.MySQL字段中指定类型后,存储是固定长度,int(1)和int(1)无论从自身长度还是从存储方式都是相同的。 在mysql中,int(1)和int )的区别在于显示的长度,但参数设置为:如果列为zerofill,则显示为填充0;如果为2int,则显示为002。
2.int存储为4字节,tinyint存储为1字节,显示的数字范围因存储长度而异。 int表示的数字范围为-2^31(2、147、483、648 )到2 ^ 311 ) 2、147、483、647 )的整数数据)的所有数字)。 tinyint表示的范围是0到255之间的数字。
3.tinyint(1)与tinyint)相比变化不大。 123也可以存储,但tinyint )3)对于zerofill,插入值12会存储012,zerofill会自动向左补充零。 这才限制显示长度。
通过限制显示长度,我明白了储存tinyint(1) 123只需要储存其中一个数字。
以下是简要的总结。
tinyint(1)和tinyint )变化不大。 占用字节均为1位,存储范围相同。
如果要插入的数据少于3位,tinyint(3) zerofill将自动向左填充零。 这才是限制显示长度呢。
如果足够,int(1)和tinyint (1)将优先选择tinyint (1),因为字节数少且节省空间。
tinyint字节smallint字节媒体字节int 4字节BIGINT 8字节。
但是varchar(5)这里的五个限制是存储字符的个数,字符不分贵贱(无论中文、英语、数字……)。
总结数据来自网络。