MySQL是一種流行的關系型數據庫管理系統,它支持許多不同的數據類型。下面是一份MySQL數據類型對照表:
+-------------------------+-----------------------+----------------------------------------------------------+ | 數據類型 | 存儲需求 | 描述 | +-------------------------+-----------------------+----------------------------------------------------------+ | INT | 4字節 | 整數類型 | | TINYINT | 1字節 | 很小的整數(-128到127) | | SMALLINT | 2字節 | 小整數(-32768到32767) | | MEDIUMINT | 3字節 | 中等大小整數(-8388608到8388607) | | BIGINT | 8字節 | 大整數(-9223372036854775808到9223372036854775807) | | FLOAT | 4字節 | 單精度浮點數 | | DOUBLE | 8字節 | 雙精度浮點數 | | DECIMAL(M,D) | (M+2)字節(D小于等于M)| 雙精度浮點數,允許指定精度(總位數和小數位數)| | DATE | 3字節 | 日期(YYYY-MM-DD) | | TIME | 3字節 | 時間(HH:MM:SS),用于記錄時間間隔 | | DATETIME | 8字節 | 日期和時間組合(YYYY-MM-DD HH:MM:SS) | | TIMESTAMP | 4字節 | 按照 Unix 時間戳存儲的日期和時間 | | YEAR | 1字節 | 年份 | | CHAR | M字節 | 定長字符串(最多255個字符) | | VARCHAR(M)| L+1字節(L小于等于M)| 變長字符串(最多65535個字符)| | TINYBLOB | L+1字節(0≤L≤255) | 極小的二進制(最多255個字符) | | TINYTEXT | L+1字節(0≤L≤255) | 極小的字符串(最多255個字符) | | BLOB | L+2字節(0≤L≤65535)| 二進制對象(最多65535個字符) | | TEXT | L+2字節(0≤L≤65535)| 文本對象(最多65535個字符) | | MEDIUMBLOB| L+3字節(0≤L≤16777215) | 中等大小二進制對象,最多16777215個字節 | | MEDIUMTEXT | L+3字節(0≤L≤16777215) | 中等大小文本對象,最多16777215個字節 | | LONGBLOB | L+4字節(0≤L≤4294967295)| 極大的二進制對象,最多4294967295個字節 | | LONGTEXT | L+4字節(0≤L≤4294967295)| 極大的文本對象,最多4294967295個字節 | | ENUM | 1或2字節(根據枚舉值的數量)| 列表中的一個選項,最多65535個選項 | | SET | 1到8字節,根據集合的成員數量| 多選列表中的一個或多個選項(最多64個)| +-------------------------+-----------------------+----------------------------------------------------------+
注意,存儲需求表示的是數據類型本身所需的存儲空間,而不是實際存儲的值所占用的空間。實際存儲的值所需的空間取決于該值所占用的位數。