9.3 MySQL 的資料型別

  MySQL 就如同一般的程式語言一樣,每個欄位都有其資料型別 (data types),常見的 MySQL 資料型別如下。
  數值型別 (Numeric Types):對整數而言,M 為最大顯示寬度,M 的最大值為 255。對定點數與浮點數而言,M 為全部位數,D 為小數點後的位數。另外,BOOL 及 BOOLEAN 就等同於 TINYINT(1),而 NUMERIC 就等同於 DECIMAL。
資料型別說明範圍
TINYINT(M)整數,佔用 1 byte-128 ~ 127
SMALLINT(M)整數,佔用 2 bytes-32768 ~ 32767
MEDIUMINT(M)整數,佔用 3 bytes-8388608 ~ 8388607
INT(M)整數,佔用 4 bytes-2147483648 ~ 2147483647
BIGINT(M)整數,佔用 8 bytes-9223372036854775808 ~ 9223372036854775807
DECIMAL(M,D)定點數依 M、N 之值而定,
M 的最大值為 65,
D 的最大值為 30
FLOAT(M,D)浮點數,佔用 4 bytes,
精確度約為 7 位數
-3.402823466E+38 ~ -1.175494351E-38,
0, 1.175494351E-38 ~ 3.402823466E+38
DOUBLE(M,D)浮點數,佔用 8 bytes,
精確度約為 15 位數
-1.7976931348623157E+308
~ -2.2250738585072014E-308,
0, 2.2250738585072014E-308
~ 1.7976931348623157E+308
  日期與時間型別 (Date and Time Types):F 為秒的小數位數,F 的最大值為 6。
資料型別說明範圍
DATE僅日期1000-01-01 ~ 9999-12-31
DATETIME(F)日期與時間1000-01-01 00:00:00.000000
~ 9999-12-31 23:59:59.999999
TIMESTAMP(F)日期與時間1970-01-01 00:00:01.000000 UTC
~ 2038-01-19 03:14:07.999999 UTC
TIME(F)僅時間-838:59:59.000000 ~ 838:59:59.000000
YEAR(4)僅日期中的年份1901 ~ 2155, 0000
  字串型別 (String Types):M 為最大字串長度。對文字而言,M 是以字元為單位,對二進位資料而言,M 是以位元組 (bytes) 為單位。請注意,對文字而言,若其使用的編碼含有多位元字元 (multibyte characters),如 utf8 等,則下述 M 的最大值可能會再減少。
資料型別 (文字型別 / 二進位資料型別)說明範圍
CHAR(M) / BINARY(M)固定長度的字串M 的最大值為 255
VARCHAR(M) / VARBINARY(M)浮動長度的字串M 的最大值為 65535
TINYTEXT / TINYBLOB浮動長度的字串最大字串長度為 255
TEXT(M) / BLOB(M)浮動長度的字串最大字串長度為 65535
MEDIUMTEXT / MEDIUMBLOB浮動長度的字串最大字串長度為 16777215
LONGTEXT / LONGBLOB浮動長度的字串最大字串長度為 4294967295
  其他重要的 MySQL 資料型別還有 BIT、ENUM、SET 等。您可以自行參考 MySQL 官方手冊