[2019.11.01更新]Mysql中tinyint与varchar

目录

1. 关于tinyint

1.1 tinyint(1) 与tinyint(4)的区别

1.2 tinyint用java的什么类型来接收?

2. int家族~

2.1 smallint

2.2 mediumint

2.3 int

2.4 BIGINT

3. char与varchar


1. 关于tinyint

1.1 tinyint(1) 与tinyint(4)的区别

tinyint默认的位数是4位,但是我们设计数据库就算设计成tinyint(1),也不能影响它占了4个存储空间。

tinyint(1) 和 tinyint(4)中的1和4只有字段指定zerofill是有用,用0来填充,而且需要去指定zerofill才行。

其实他们的存储空间是一样的。
如tinyint(4),如果实际值是2,如果列指定了zerofill,查询结果就是0002,左边用0来填充。

1.2 tinyint用java的什么类型来接收?

tinyint 可以使用int来接受也可以用boolean来接受。

因为数据库并没有boolean这个类型,所以用tinyint来代替,用来表示0 或者 1

2. int家族~

2.1 smallint

6位

2.2 mediumint

9位

2.3 int

11位

有符号:[- 2^31 , 2^31-1]

无符号: [ 0,2^32-1]

2.4 BIGINT

20位

3. char与varchar

char是一种固定长度的类型,varchar则是一种可变长度的类型

char如果存的长度不够位数,会在右边用空格补齐。

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

面试会问到,varchar是包含了一个记录长度的字节的。

  1、在一个数据表里,如果每一个数据列的长度都是固定的,那么每一个数据行的长度也将是固定的.

  2、只要数据表里有一个数据列的长度的可变的,那么各数据行的长度都是可变的.

  3、如果某个数据表里的数据行的长度是可变的,那么,为了节约存储空间,MySQL会把这个数据表里的固定长度类型的数据列转换为相应的可变长度类型.

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值