首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 欄位型別取值範圍完整對照表:整數、浮點、日期、字串、列舉

     編輯:MySQL 綜合教學

整數型別 (精確數值)

型別有號範圍無號範圍 (UNSIGNED)
TINYINT-128 ~ 1270 ~ 255
SMALLINT-32,768 ~ 32,7670 ~ 65,535
MEDIUMINT-8,388,608 ~ 8,388,6070 ~ 16,777,215
INT / INTEGER-2,147,483,648 ~ 2,147,483,6470 ~ 4,294,967,295
BIGINT-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,8070 ~ 18,446,744,073,709,551,615

浮點與定點數值

型別範圍備註
FLOAT-3.402823466E+38 ~ -1.175494351E-38、0、1.175494351E-38 ~ 3.402823466E+38單精度,約 7 位有效數字
DOUBLE / DOUBLE PRECISION / REAL-1.7976931348623157E+308 ~ -2.2250738585072014E-308、0、2.2250738585072014E-308 ~ 1.7976931348623157E+308雙精度,約 15 位有效數字
DECIMAL(M,D) / NUMERIC(M,D)由 M (總位數含小數點) 與 D (小數位) 決定,M 預設 10,D 預設 0精確定點運算,適合金額

日期時間型別

型別範圍備註
DATE1000-01-01 ~ 9999-12-313 bytes
DATETIME1000-01-01 00:00:00 ~ 9999-12-31 23:59:598 bytes
TIMESTAMP1970-01-01 00:00:00 ~ 2038 年某日4 bytes,時區相關
TIME-838:59:59 ~ 838:59:593 bytes,可表達時間間隔
YEAR[(2|4)]4 位:1901~2155, 0000;2 位:70~69 (對應 1970~2069)1 byte,預設 4 位

字串型別

型別長度範圍特性
CHAR(M) [BINARY] / NCHAR(M)M = 1~255定長,右側空格填補,讀取去除尾部空格;BINARY 區分大小寫
VARCHAR(M) [BINARY]M = 1~255變長,儲存實際長度+1 byte,尾部空格不填補
TINYBLOB / TINYTEXT255 (2^8-1) 字元L+1 bytes
BLOB / TEXT65,535 (2^16-1) 字元L+2 bytes
MEDIUMBLOB / MEDIUMTEXT16,777,215 (2^24-1) 字元L+3 bytes
LONGBLOB / LONGTEXT4,294,967,295 (2^32-1) 字元L+4 bytes

列舉與集合

型別容量儲存位元組
ENUM('v1','v2',...)最多 65,535 個不同值1 或 2 bytes (視值數量)
SET('v1','v2',...)最多 64 個成員1,2,3,4,8 bytes (視成員數)

快速選型口訣

  • 整數找最小剛好容納範圍的型別,省空間又快。
  • 金額、精確計算 → DECIMAL。
  • 只存日期 → DATE;需時區感知 → TIMESTAMP;純時間/間隔 → TIME。
  • 固定長度代碼 (MD5、UUID、國標碼) → CHAR;其餘 → VARCHAR。
  • 狀態機、單選分類 → ENUM;多選標籤 → SET。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved