MYSQL 字段类型不太很懂,找出几个想知道什么意思。谢谢

第一张图:int,4比特的整数是什么意思,没符号表示范围0到429496795,是不是最多可以到429496795不可以到429496796?1,2,3,4,5,6,7。。。。。4294967295最多到这里,不能在多了。

第二张图:varchar变长(0-65535)是不是最多可以到65535字节,1个中文占3个字节?然后比如我想全部占有,在建表的时候,旁边的长度/值我改填写多少?

第三张图:TEXT,做多存储65535(2^16-1)是什么意思?

第四张图:TINYINT 1字节整数有符号:-128-127无符号0-255啥意思?

第五张图:char定长0到255,默认1,储存时会右边补全空格。什么意思

第七张图:BIT位类型(M),每个值储存M位,默认1最大64什么意思。~

稍微有点啰嗦,但新学MYSQL,忘大家解答,感谢了。

1:

2:

3:

4:

5:

6:

7:

第一张图:int,4比特的整数是什么意思,没符号表示范围0到429496795,是不是最多可以到429496795不可以到429496796?1,2,3,4,5,6,7。。。。。4294967295最多到这里,不能在多了。———————— 这是个翻译错误,不是4比特(bit) 而是4字节(32比特),可以用到40多亿的编号是对的。
第二张图:varchar变长(0-65535)是不是最多可以到65535字节,1个中文占3个字节?然后比如我想全部占有,在建表的时候,旁边的长度/值我改填写多少?———————— 可存 64 k 数据,用 utf-8 编码时,中文每个字占 2 字节,也就是说,可以保存 3200多个字(包括全角标点符号)。
第三张图:TEXT,做多存储65535(2^16-1)是什么意思?———————— 解答同上。只是少存一个汉字。
第四张图:TINYINT 1字节整数有符号:-128-127无符号0-255啥意思?———————— 可以用来保存 0-255 或 -127-127 之间的值,比如,一个英文字母。
第五张图:char定长0到255,默认1,储存时会右边补全空格。什么意思————————跟 varchar 比较类似,只是会浪费磁盘空间(但比 varchar 访问速度快:以空间换取时间)
第七张图:BIT位类型(M),每个值储存M位,默认1最大64什么意思。———————— 只能保存 0 或 1、真或假 这类的二值信息,但非常省磁盘空间,8个这样的信息才占一字节,最多可以 保存 64 个这样的值 (占 8 字节)追问

第二张图:是可以保存32000个字才对吧?少打了个0吧。
第四张图:TINYINT 1字节整数有符号:-128-127无符号0-255啥意思?
如果是无符号的,是不是我只能保存1,2,3,4,5。。。255之间的整数,不可以输入256或者更大的整数?
第七张图:只能保存0或1,这个我知道了,最多可以保存64 个这样的值 (占 8 字节)是什么意思,谢谢了。

追答

关于第二张图的追问是我少打了一个0。

关于第七张图的追问意思是你定义bit型数据的时候,一个变量可以定义为 bit(64),多于64不行。

追问

第四张图:TINYINT 1字节整数有符号:-128-127无符号0-255啥意思?
如果是无符号的,是不是我只能保存1,2,3,4,5。。。255之间的整数,不可以输入256或者更大的整数?

如果我想有个字段支持金额,比如52.45或者1.7这样带小数的那个字段类型好?感谢你了

追答

需要使用近似数值数据值存储的代码应使用FLOAT或DOUBLE PRECISION,不规定精度或位数。

DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值,例如货币数据。

当声明该类型的列时,可以(并且通常要)指定精度和标度;例如:

salary DECIMAL(5,2)

在该例子中,5是精度,2是标度。精度表示保存值的主要位数,标度表示小数点后面可以保存的位数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-07
第一张图,你的答案没错
第二张图,65535
第三张图就是说最多只能存储65535个字符
第四张图,有符号就是指的有正和负数,无符号就全部都是正数
第五张图,那个就是说,假如你的char长度为4,那么你存入“AB”,占用两个字节,那么会自动补全位“AB[两个空格]”
第七张图,那个指的是二进制位,8个位=一个字节,所以最大64个位即为最大8个字节追问

第四张图,有符号就是指的有正和负数,无符号就全部都是正数


这个0-255是什么意思,我只能输入0,1,2,3,4,5.。。。。255吗?不可以输入256或更大的整数是不是?


还有这个char字段的定长(0-255)是不是自可以输入最大255字节的内容?UTF-8编码,1个中文占3个字节是吧。