mysql 长度为0是什么意思_【解惑】mysql字段长度什么意思

今天简单说说mysql字段不同类型的长度,显示宽度,数据存储占用硬盘大小

首先来说最常用的整型,mysql的整型又分为五种小类型:

1、tinyint

2、smallint

3、mediumint

4、int

5、bigint

这五种整型的主要区别是数据库存储的时候会占用几个字节,限制的整数的范围(最大值最小值)不同。

这五种整型的相同点是都可以设置有符号和无符号,所谓的符号就是正负号

tinyint:

数据存储:占用1个字节(一个字节等于8位二进制)

取值范围:①有符号的情况下,-(2的7次方)到(2的7次方-1);②无符号的情况下,(0)到(2的8次方-1)

tinyint(4)是什么意思?其实这里的4代表的是显示宽度,比如字段设置0填充的时候会有4个0占位例如(0000)(0001)(0011)(0255)

tinyint(3)是什么意思?其实这里的3代表的是显示宽度,比如字段设置0填充的时候会有3个0占位例如(000)(001)(011)(255)

tinyint(2)是什么意思?其实这里的2代表的是显示宽度,比如字段设置0填充的时候会有2个0占位例如(00)(01)(11)(255)

所以无论是4,3,2,1哪种宽度存入的最大值和最小值是不变的,并且mysql在存数据的时候也是要占用1个字节。

同理剩下的四中类型也是一样,我们简单说下:

smallint:

数据存储:占用2个字节(一个字节等于8位二进制)

取值范围:①有符号情况下,-(2的15次方)到(2的15次方-1);②无符号的情况下,(0)到(2的16次方-1)

smallint(5)也表示显示宽度不细说了

mediumint:

数据存储:占用3个字节(一个字节等于8位二进制)

取值范围:①有符号情况下,-(2的23次方)到(2的23次方-1);②无符号的情况下,(0)到(2的24次方-1)

int:

数据存储:占用4个字节(一个字节等于8位二进制)

取值范围:①有符号情况下,-(2的31次方)到(2的31次方-1);②无符号的情况下,(0)到(2的32次方-1)

bigint:

数据存储:占用8个字节(一个字节等于8位二进制)

取值范围:①有符号情况下,-(2的63次方)到(2的63次方-1);②无符号正整数情况下,(0)到(2的64次方-1)

再简单说下字符串类型:

varchar(50)是什么意思呢? 这个50在mysql4.0版本及以下表示50个字节的长度,在5.0版本及以上表示的是50个字符,无论是数字,英文,还是utf8的汉字都是可以存储50个字符。

那么varchar类型最多可以存储多少字符呢,mysql5.0.3之前可以存储255个字符,5.0.3之后版本理论上讲可以存储最大65535个字符,但是这取决于所有列的字符加在一起不能大于65535这个限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值