MySQL之數據類型
MySQL常見的數據類型有數值、日期和時間、字符串sql
數值
整數類型(精確值)
Integer Types (Exact Value) - INTEGER, INT, SMALLINT, TINYINT, MEDIUMINT, BIGINTspa
int
tinyint
bigint視頻
不動點類型(精確值)-十進制,數字
Fixed-Point Types (Exact Value) - DECIMAL, NUMERIC
DECIMAL(5,2): 5表明精度,2表明刻度;表示該列總共能夠存儲5位數字,精確到小數點後2位;
存儲範圍: -999.99 ~ 999.99
NUMERIC就是NUMERIC
說明:精度是幾,小數點+整數位不能超過前面的精度。
decimal(0) 默認是decimal(10,0)blog
浮點類型(近似值)-浮動
Floating-Point Types (Approximate Value) - FLOAT, DOUBLE
float 存儲 4bytes
float(7,4)就會看到這樣:-999.9999的顯示。MySQL進行舍入時存儲的值,因此若是你插入999.00009成浮(7,4)柱,近似的結果是999.0001
If M and D are omitted, values are stored to the limits permitted by the hardware.
double 存儲 8bytes圖片
時間和日期
- DATE:日期 'YYYY-MM-DD'. The supported range is '1000-01-01' to '9999-12-31'
- DATETIME:日期時間組合 'YYYY-MM-DD HH:MM:SS' The supported range is '1000-01-01 00:00:00' to'9999-12-31 23:59:59'.
- TIMESTAMP:時間戳 '1970-01-01 00:00:01.000000' UTC to '2038-01-19 03:14:07.999999' 注意:不能等於'1970-01-01 00:00:00'會歸零;
- TIME:時間 '-838:59:59.000000' to '838:59:59.000000' 注意:'11:12' means '11:12:00', not '00:11:12' ; '1112' and 1112 as meaning '11:12:00;默認狀況下,超出範圍的值會被自動轉換成接近的值,eg:'-850:00:00' and '850:00:00' are converted to '-838:59:59' and '838:59:59';無效的的時間值會被轉換成'00:00:00'
- YEAR: range 1901 to 2155, or 0000 注意:YEAR(4) and YEAR(2)不一樣之處在於顯示不一樣;eg:70 (1970 or 2070) or 69 (2069).
字符串
- CHAR:0 to 255 定長,存儲時用空格補齊;讀取時刪掉後面的空格,PAD_CHAR_TO_FULL_LENGTH sql模式開啓
- VARCHAR:0 to 65,535 可變長度
- BLOB:保存二進制的大型數據(字節串),沒有字符集,eg:圖片、音頻視頻等
- TEXT:保存非二進制字符串(字符串);有一個字符集
- BINARY和VARBINARY:相似CHAR和VARCHAR;保存字節字符串,而不是字符字符串,這意味着它們沒有字符集