在 MySQL 中,整數類型是資料庫中常用的數據類型之一,用來儲存整數。整數類型的選擇對於有效的資料儲存和操作至關重要,尤其是當數據量龐大時,選擇合適的數據類型可以節省儲存空間,並提高查詢效能。MySQL 支援 SQL 標準的整數類型,並在此基礎上進行了擴展,以提供更多的選擇。
MYSQL資料庫,整數型別長度介紹!mysql int 長度說明。
MySQL 支援 SQL 標準的整數類型 INTEGER(或 INT)和 SMALLINT。作為對標準的擴展,MySQL 還支援整數類型 TINYINT、MEDIUMINT 和 BIGINT。下表顯示了每種整數類型所需的存儲空間和範圍。
Type | Storage (Bytes) | Minimum Value Signed | Minimum Value Unsigned | Maximum Value Signed | Maximum Value Unsigned |
---|---|---|---|---|---|
TINYINT |
1 | -128 |
0 |
127 |
255 |
SMALLINT |
2 | -32768 |
0 |
32767 |
65535 |
MEDIUMINT |
3 | -8388608 |
0 |
8388607 |
16777215 |
INT |
4 | -2147483648 |
0 |
2147483647 |
4294967295 |
BIGINT |
8 | -263 |
0 |
263-1 |
264-1 |
1. 標準整數類型
根據 SQL 標準,MySQL 支援兩種基本的整數類型:
INTEGER 或 INT:這是最常用的整數類型,能夠儲存較大的整數數值。INT 的範圍取決於是否定義為有符號或無符號(signed 或 unsigned)。有符號的範圍是 -2,147,483,648 到 2,147,483,647,而無符號的範圍則是 0 到 4,294,967,295。
SMALLINT:這個類型用於需要儲存較小數值的情況。有符號的範圍是 -32,768 到 32,767,無符號的範圍是 0 到 65,535。
2. MySQL 擴展的整數類型
除了上述標準類型,MySQL 還引入了其他三種擴展的整數類型,以適應不同的需求:
TINYINT:適用於非常小的數值範圍。有符號的範圍是 -128 到 127,無符號的範圍是 0 到 255。由於它只佔用 1 個位元組(byte)的儲存空間,因此非常適合需要儲存狀態標記或小範圍整數的情境。
MEDIUMINT:這是介於 INT 和 SMALLINT 之間的一種數據類型。有符號的範圍是 -8,388,608 到 8,388,607,無符號的範圍是 0 到 16,777,215。這類型用於儲存中等範圍的整數。
BIGINT:當需要儲存極大範圍的整數時,BIGINT 是合適的選擇。有符號的範圍從 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807,而無符號的範圍則是 0 到 18,446,744,073,709,551,615。
3. 各類型的儲存需求
每種整數類型佔用的儲存空間不同,因此選擇適合的類型有助於優化資料庫的儲存效率。以下是每種整數類型對應的儲存空間:
- TINYINT: 1 位元組
- SMALLINT: 2 位元組
- MEDIUMINT: 3 位元組
- INT: 4 位元組
- BIGINT: 8 位元組
4. 使用場景
選擇合適的整數類型取決於應用場景和數據需求:
- 如果只需儲存小範圍的整數(例如年齡、標記狀態等),可以選擇 TINYINT 或 SMALLINT。
- 當儲存範圍超過小型整數類型所能承載的數值時,則應考慮使用 INT 或 MEDIUMINT。
- 當需要儲存非常大的數據時,例如財務數據或需要處理大量記錄時,BIGINT 是更好的選擇。