mysql中bigint、int、mediumint、smallint 和 tinyint的取值范围 int(10)的含义

MySQL学习 专栏收录该内容
8 篇文章 0 订阅

          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)显示结果为000000010
int(3)显示结果为010
就是显示的长度不一样而已 都是占用四个字节的空间
2、tinyint的值为2(指定zerofill)
tinyint(4)显示结果为0002,左边用0来填充,占用1个字节

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

带符号的范围是-92233720368547758089223372036854775807,无符号的范围是018446744073709551615

char是一种固定长度的类型,varchar则是一种可变长度的类型,它们的区别是:

  char(M)类型的数据列里,每个值都占用M个字节,如果某个长度小于M,MySQL就会在它的右边用空格字符补足.

(在检索操作中那些填补出来的空格字符将被去掉)

在varchar(M)类型的数据列里,每个值只占用刚好够用的字节再加上一个用来记录其长度的字节(即总长度为L+1字节).



  • 1
    点赞
  • 0
    评论
  • 1
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值