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

MySQL 整數類型取值範圍完整對照表:TINYINT 到 BIGINT

     編輯:MySQL 綜合教學

MySQL 整數類型取值範圍完整對照表

資料庫設計時選擇合適的整數類型,能節省儲存空間、提升查詢效能。MySQL 提供五種整數類型,各佔用 1~8 位元組,支援有符號與無符號兩種模式。

五大整數類型詳細規格

類型位元組有符號範圍無符號範圍
TINYINT1-128 ~ 1270 ~ 255
SMALLINT2-32,768 ~ 32,7670 ~ 65,535
MEDIUMINT3-8,388,608 ~ 8,388,6070 ~ 16,777,215
INT / INTEGER4-2,147,483,648 ~ 2,147,483,6470 ~ 4,294,967,295
BIGINT8-9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,8070 ~ 18,446,744,073,709,551,615

關鍵注意事項

  1. 算術運算預設用 BIGINT/DOUBLE:兩個 INTEGER 相乘若超過 9223372036854775807 會溢位產生錯誤結果。
  2. 避免使用超大有符號整數:除位運算外,不建議超過 63 位有符號範圍。
  3. UNSIGNED 適用場景:自增 ID、計數器、非負屬性欄位,可翻倍正向範圍。
  4. 顯示寬度誤區:INT(11) 僅影響顯示寬度,不限制儲存範圍。

擴展:其他常用數據類型範圍速查

類型範圍 / 特性
FLOAT-3.40E+38 ~ 3.40E+38(單精度)
DOUBLE-1.79E+308 ~ 1.79E+308(雙精度)
DECIMAL(M,D)精確定點數,M 總位數,D 小數位
DATE1000-01-01 ~ 9999-12-31
DATETIME1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
TIMESTAMP1970-01-01 00:00:01 UTC ~ 2038-01-19 03:14:07 UTC
TIME-838:59:59 ~ 838:59:59
YEAR1901 ~ 2155(4 位)或 1970 ~ 2069(2 位)
CHAR/VARCHARM 範圍 1~255(5.0.3+ VARCHAR 至 65,535)
TEXT/BLOBTINY(255) / 64KB / 16MB / 4GB 四級
ENUM最多 65,535 個枚舉值
SET最多 64 個成員

選型建議

  • 極小範圍狀態碼 → TINYINT UNSIGNED
  • 一般業務 ID、外鍵 → INT UNSIGNED 或 BIGINT UNSIGNED
  • 金額、精確計算 → DECIMAL(10,2)
  • 大數據量日志表主鍵 → BIGINT 預留未來擴充

合理選型 = 省空間 + 快索引 + 少 Bug,請根據業務實際上限預留 20%~50% 餘量。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved