Mysql常用數據類型存儲大小及範圍

整數型數據類型
類型名稱 說明 存儲大小 取值範圍
TINYINT 很小的正數(一般用於boolean存儲) 1個字節 -128~127
unsigned:0~255
SMALLINT 小正數 2個字節 -32768~32767
unsigned:0~65535
MEDIUMINT 中等大小的正數 3個字節 -2^23 ~2^23-1
unsigned: 2^24 -1
INT(INTEGER) 普通大小的正數 4個字節 -2^31 ~2^31-1
unsigned: 2^32 -1
BIGINT 大正數(一般用於主鍵) 8個字節 -2^63 ~2^63-1
unsigned: 2^64 -1
小數型數據類型
FLOAT(M,N)  M表示總共位數,N表示小數位數(單精度浮點數) 4個字節 ±1.175494351E – 38
DOUBLE(M,N) 雙精度浮點數 8個字節 ±2.2250738585072014E – 308
DECIMAL(M,D) 壓縮的嚴格定點數 M+2個字節 可變;其值的範圍依賴於M 和D
字符串數據類型
CHAR(N) 固定長度  N * C(字符存儲大小見文末註釋1) 0~255字符
VARCHAR(N) 可變長度(與CHAR區別見文末註釋2 實際存儲大小 0~65535字節
TEXT 文本 實際存儲大小 0~65535字節
LONGTEXT 長文本 實際存儲大小 0~2^32-1字節
日期數據類型
DATE 存儲日期值(yyyy-MM-dd) 3個字節 1000-01-01~9999-12-31 
TIME 存儲時分秒(HH:mm:ss) 3個字節 00:00:00~23:59:59 
DATETIME 存儲日期+時間(yyyy-MM-dd HH:mm:ss) 8個字節

1000-01-01 00:00:00~

9999-12-31 23:59:59

TIMESTAMP 存儲日期+時間,可作時間戳(yyyy-MM-dd HH:mm:ss) 4個字節 1970-01-01 00:00:01~ 2038-01-19 03:14:07

 註釋1:

UTF-8   : 一個英文/數字字符佔1個字節,一箇中文(含繁體)字符佔3個字節。
Unicode: 一個英文/數字字符佔2個字節,一箇中文(含繁體)字符佔2個字節。
符號      : 英文標點佔1個字節,中文標點佔2個字節。舉例:英文句號“.”佔1個字節的大小,中文句號“。”佔2個字節的大小。

註釋2:

char:固定長度,最大長度是255字符。適合用在身份證號碼、手機號碼等定、等長的加密密碼等。 
varchar:可變長度,最大長度65535字節,其實最多隻能存儲65532個字節,還有3個字節用於存儲長度。
      
1)char的存取速度優於varchar
2)char(20)表示這個字段最多存20個字符,如果只存了16個字符,那麼也會佔用20個字符的空間
   varchar(20)表示這個字段最多存20個字符,如果只存了16個字符,那麼只佔用16個字符的空間
3)即使使用Varchar數據類型,也不能夠太過於慷慨!比如你只使用到90個字符,VARCHAR(100)與VARCHAR(200),雖然他們用來存儲90個字符的數據,其存儲空間相同。但是對於內存的消耗是不同的。



 

         

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章