2011-02-10 57 views

回答

4

一個字節= 8位。 2^8 == 256個不同的值,但您必須處理0,因此範圍爲0-255。

+0

請幫助我理解 - CHAR如何處理0 - 如果您將CHAR的長度設置爲0,那麼需要一個字節來存儲? – 2011-02-10 09:54:28

1

作爲每文檔:http://dev.mysql.com/doc/refman/5.0/en/storage-requirements.html

CHAR(M)M×瓦特個字節,0 < = M < = 255,其中w是在字符的最大長度的字符所需要的字節數如果列中的值需要設置爲0
VARCHAR(M),VARBINARY(M)L + 1個字節 - 255字節,L + 2個字節,如果值可能需要超過255個字節

CHAR是一個固定長度的型 - 它將始終存儲最大長度不管字符串是否全部使用它,然而它會使用1個字節來存儲實際的字符串長度。

VARCHAR是可變長度,它將存儲爲只需要儘可能多的字節,加上一個或兩個字節,以保持它們的長度。字符最大長度爲255個字節,長度爲1個字節,字符長度爲65533個字節,長度爲2個字節。