首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 全數據類型取值範圍速查表(含整數、浮點、日期、字串、二進制)

     編輯:MySQL 資料庫相關知識

數值類型

類型有號範圍無號範圍
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 位元組
DATETIME1000-01-01 00:00:00 ~ 9999-12-31 23:59:598 位元組
TIMESTAMP1970-01-01 00:00:00 ~ 2038-01-19 03:14:07 (UTC)4 位元組,時區感知,5.6+ 支援毫秒
TIME-838:59:59 ~ 838:59:593 位元組
YEAR[(2|4)]4 位:1901 ~ 2155、0000;2 位:70-69 (1970-2069)1 位元組,預設 4 位

字串類型

類型最大長度特性
CHAR(M) [BINARY] / NCHAR(M)M = 1~255定長,儲存時右側補空格,讀取時自動去除尾部空格。無 BINARY 則大小寫不敏感。
VARCHAR(M) [BINARY]M = 1~255 (5.0.3 前) / 65,535 (5.0.3+)變長,尾部空格自動去除。5.0.3+ 共享 65,535 行上限。
TINYBLOB / TINYTEXT255 (2^8-1) 字元
BLOB / TEXT65,535 (2^16-1) 字元
MEDIUMBLOB / MEDIUMTEXT16,777,215 (2^24-1) 字元
LONGBLOB / LONGTEXT4,294,967,295 (2^32-1) 字元

集合與列舉

  • ENUM('v1','v2',...):最多 65,535 個不同值,內部以整數儲存,效能極佳。
  • SET('v1','v2',...):最多 64 個成員,以位元組合儲存。

選型建議

  • 整數優先選「剛好夠用」的最小類型(TINYINT > SMALLINT > MEDIUMINT > INT > BIGINT),節省空間與索引成本。
  • 金額、精確計算必用 DECIMAL。
  • 時區敏感、自動更新時間戳用 TIMESTAMP;歷史日期、未來日期用 DATETIME。
  • 定長高頻讀取用 CHAR,其餘用 VARCHAR。
  • 大文本/二進位用 TEXT/BLOB 家族,注意 TEXT 排序只比較前 max_sort_length 字元。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved