數據庫MySQL/mariadb知識點——數據類型
阿新 • • 發佈:2018-06-19
src 整型 bin 數值 med tex inf 避免 char
數據類型
所謂的列類型,其實就是指數據類型,即對數據進行統一的分類,從系統的角度出發是為了能夠使用統一的方式進行管理,更好的利用有限的空間。
在 SQL 中,將數據類型分成了三大類,分別為:數值型、字符串型和日期時間型。
選擇正確的數據類型對於獲得高性能至關重要,三大原則:
- 更小的通常更好,盡量使用可正確存儲數據的最小數據類型
- 簡單就好,簡單數據類型的操作通常需要更少的CPU周期
- 盡量避免NULL,包含為NULL的列,對MySQL更難優化
1、數值型
-
精確數值
-
INT
-
TINYINT 微整型 1
-
SMALLINT 小整型 2
-
MEDIUMINT 中整型 3
-
INT 整型 4
-
BIGINT 大整型 8
-
-
DECIMAL 精確定點型
-
-
近似數值
-
FLOAT 單精度浮點型 4
-
DOUBLE 雙精度浮點型 8
-
REAL
-
BIT
-
2、字符型
-
定長
-
CHAR(不區分大小寫)255
-
BINARY(區分大小寫)
-
-
變長
-
VARCHAR(不區分大小寫)65,535
-
VARBINNARY(區分大小寫)
-
-
TEXT(不區分大小寫)
-
TINYTEXT 255
-
TEXT 65,535
-
MEDIUMTEXT 16,777,215
-
LONGTEXT 4,294,967,295
-
-
BLOB(區分大小寫)
-
TINYBLOB 微二進制大對象 255
-
BLOB 二進制大對象 64K
-
MEDIUMBLOB 中二進制大對象 16M
-
LONGBLOB 長二進制大對象 4G
-
-
ENUM 枚舉 65535種變化
-
SET 集合 1-64個字符串,可以隨意組合
3、日期時間型
-
DATE 3
-
TIME 3
-
DATETIME 8
-
TIMESTAMP 4
-
YEAR{2|4} 1
4、布爾型
- BOOL,BOOLEAN:布爾型,是TINYINT(1)的同義詞。zero值被視為假。非zero值視為真。
詳情請參考官方文檔:https://dev.mysql.com/doc/refman/5.5/en/data-types.html
數據庫MySQL/mariadb知識點——數據類型