概述
1bytes = 8bit (bytes字节)一个字节最多可以代表的数据长度是2的8次方(11111111计算机中-128到127)
注意:以下的n代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(4)只能存储4个长度的数字,int(11)就会存储11个长度的数字,这是错的。
实际上int(n)所占多少存储空间并无任何关系。int(3)、int(4)、int(8) 在磁盘上都是占用 4 btyes 的存储空间。说白了,除了显示给用户的方式有点不同外,int(M) 跟 int 数据类型是相同的。
例如: 1、int的值为10 (指定zerofill)int(9)显示结果为000000010int(3)显示结果为010tinyint(4)显示结果为0002,左边用0来填充,占用1个字节就是显示的长度不一样而已 都是占用四个字节的空间 2、tinyint的值为2(指定zerofill)
1、bit(n)
位子段类型,n表示每个值的位数,范围从1~64,如果n未设置,默认为1
2、tinyint(n)
很小的整数,一般用来定义类型之类比较小的值,带符号-128到127 ,无符号0到255。
3 、bool,boolean
0值被视为假,非0值视为真
4、 samllint(n) [UNSIGNED] [ZEROFILL] n默认为6
带符号范围-32768到32767,无符号0到65535。
5、mediumint(n) [UNSIGNED] [ZEROFILL] n 默认为9
带符号范围-8388608到8388607,无符号的范围是0到16777215。
6、int(n) [UNSIGNED] [ZEROFILL] n默认为11
带符号范围-2147483648到2147483647,无符号的范围是0到4294967295.
7、bigint(n) [UNSIGNED] [ZEROFILL] n默认为20
带符号的范围是-9223372036854775808到9223372036854775807,无符号的范围是0到18446744073709551615。
char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:
char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.
(在检索操作中那些填补出来的空格字符将被去掉)
在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).
最后
以上就是朴素刺猬为你收集整理的mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围 int(10)的含义的全部内容,希望文章能够帮你解决mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围 int(10)的含义所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复