一、varchar
varchar(<b>N</b>)
<b>N</b>指的是字符的長(zhǎng)度
長(zhǎng)度 是當(dāng)前字符集的<b>字符</b>長(zhǎng)度,而不是字節(jié)長(zhǎng)度!
varchar(5)能存儲(chǔ)5個(gè)字符,不管是數(shù)字,字母,還是漢字.
id content
1 12345
2 中國(guó)人民銀
MySQL中char,varchar與text類型的選用:
知道固定長(zhǎng)度的用char,比如MD5串固定是32位.
經(jīng)常變化的字段用varchar.
超過(guò)255字符的只能用varchar或者text,不能用char.
能用varchar的地方不用text.
二、int
int(<b>N</b>)
<b>N</b>指的是字符的填充位數(shù)
以下是每個(gè)整數(shù)類型的存儲(chǔ)和范圍(來(lái)自mysql手冊(cè))
類型 字節(jié) 最小值 最大值
(帶符號(hào)的/無(wú)符號(hào)的) (帶符號(hào)的/無(wú)符號(hào)的)
TINYINT 1 -128 127
0 255
SMALLINT 2 -32768 32767
0 65535
MEDIUMINT 3 -8388608 8388607
0 16777215
INT 4 -2147483648 2147483647
0 4294967295
BIGINT 8 -9223372036854775808 9223372036854775807
0 18446744073709551615
mysql手冊(cè)中這個(gè)長(zhǎng)度/值用"M"來(lái)表示的.
細(xì)心的朋友應(yīng)該有注意到過(guò)mysql手冊(cè)上有這么一句話:
<b>M指示最大顯示寬度蛔垢。最大有效顯示寬度是255击孩。顯示寬度與存儲(chǔ)大小或類型包含的值的范圍無(wú)關(guān);</b>
怎么理解迫悠?
我設(shè)置成int(1), 也一樣能存10,100,1000
如果number字段,int(5),<b>屬性=UNSIGNED ZEROFILL</b>(無(wú)符號(hào),用0來(lái)填充位數(shù))
設(shè)置這個(gè)屬性后我往表時(shí)插入數(shù)據(jù),系統(tǒng)會(huì)自動(dòng)把number字段M不夠5位的在左側(cè)用0來(lái)填充; 效果如下: