MySQL 5.7 - 常見資料類型
本文關鍵字:MySQL、資料類型、文本類型、數字類型、日期類型
資料類型是資料庫的一個重要組成部分,在MySQL資料庫中可将資料類型分為三大類:Text類型(文本類型)、Number類型(數字類型)、Date類型(日期類型)。
一、Text類型
Text類型為本文類型,也就是我們在程式設計中常說的字元串,同時由于可以進行序列化、反序列化等等的操作,我們甚至于可以直接将檔案轉換後存入資料庫(但通常我們不會這樣做)。
1. CHAR
- 最大長度:255
- 内容限制:字母、數字及特殊字母,正确設定編碼後可以存入中文等字元
- 特點:長度固定,占用空間較大,效率稍高
2. VARCHAR
- 特點:長度可變,需要同時記錄資料本身和占用的空間大小,可适度節省磁盤空間,效率稍低
3. TINYTEXT
- 特點:存儲方式上有所不同,不會和行資料存在一起
4. TEXT
- 最大長度:65,535
- 其他相似類型
- MEDIUMTEXT:最大長度為16,777,215
- LONGTEXT:最大長度為4,294,967,295
5. BLOB
- 最多存放:65,535位元組
- 内容限制:Binary Large OBjects(二進制長對象)
-
- MEDIUMBLOB:最多存放16,777,215位元組
- LONGBLOB:最多存放4,294,967,295位元組
6. ENUM
- 最大個數:65,535
- 内容限制:字元串類型,存儲的資料隻能是在ENUM中已羅列出的值,或為NULL
7. SET
- 最大個數:64
- 内容限制:字元串類型,存儲的資料隻能是在SET中已羅列出的值
- 特點:可以存儲進多個SET中已聲明的元素,但是不會重複存入相同的元素
二、Number類型
1. TINYINT
- 資料範圍
- 正常:-128~127
- 無符号:0~255
- 内容限制:整數
2. INT
-
- 正常:-2,147,483,648~2,147,483,647
- 無符号:0~4,294,967,295
- 相似類型
- SMALLINT:-32768~32767 (正常),0~65535(無符号)
- MEDIUMINT:-8,388,608~8,388,607(正常),0~16,777,215(無符号)
3. BIGINT
-
- 正常:-9,223,372,036,854,775,808~9,223,372,036,854,775,807
- 無符号:0~18,446,744,073,709,551,615
4. FLOAT
-
- 總位數:0~23
- 小數位:0~4
- 内容限制:小數或整數
5. DOUBLE
-
- 總位數:0~53
- 小數位:0~8
6. DECIMAL
-
- 總位數:0~65
- 小數位:0~30
三、Date類型
1. DATE
- 顯示格式:YYYY-MM-DD
- 起止範圍:'1000-01-01' 到 '9999-12-31'
2. DATETIME
- 顯示格式:YYYY-MM-DD hh:mm:ss
- 起止範圍:'1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'
3. TIMESTAMP
- 顯示格式:時間戳(長整形)
- 起止範圍:'1970-01-01 00:00:01' UTC 到 '2038-01-19 03:14:07' UTC
4. TIME
- 顯示格式:hh:mm:ss 或 hhh:mm:ss
- 起止範圍:'-838:59:59' 到 '838:59:59'
5. YEAR
- 顯示格式:YYYY
- 起止範圍:1901 到 2155,或0000
- 備注:一般使用0,00,0000代表2000年,在嚴格模式下,0000是一個非法的值