Mysql支持的多種數據類型主要有:數值數據類型、日期/時間類型、字符串類型。?
1.整數數據類型及其取值範圍:
類型
說明
存儲需求(取值範圍)
tinyint 很小整數 1字節([0~255]、[-128~127]); 255=2^8-1;127=2^7-1
smallint 小整數 2字節(0~65535、-32768~32767) ;65535=2^16-1
mediumint 中等 3字節(0~16777215) ;16777215=2^24-1
int(integer) 普通 4字節(0~4294967295) ;4294967295=2^32-1
bigint 大整數 8字節(0~18446744073709551615);18446744073709551615=2^64-1
浮點數&定點數:
類型名稱
說明
存儲需求
float 單精度浮點數 4字節
double 雙精度浮點數 8字節
decimal 壓縮的“嚴格”定點數 M+2字節
註:定點數以字符串形式存儲,對精度要求高時使用decimal較好;盡量避免對浮點數進行減法和比較運算。?
2.時間/日期類型:?
year範圍:1901~2155;?
time格式:‘HH:MM:SS’(如果省略寫,並且沒有冒號,則默認最右起2位為秒,再到分,最後到時);?
插入系統當前時間:insert into 表名 values(current_date()),(now());?
date類型:‘YYYY-MM-DD’;?
datetime(日期+時間):‘YYYY-MM-DD HH:MM:SS’或‘YYYYMMDDHHMMSS’,取值範圍:‘1000-01-01 00:00:00’~‘9999-12-31 23:59:59’;?
timestamp格式同datetime,但在存儲時需要4個字節(datetime需要8字節),並且以UTC(世界標準時間)進行存儲(即timestamp會隨設置的時區而變化,而datetime存儲的絕不會變化);timestamp的範圍:1970-2037。?
3.字符串類型:?
text類型:tinytext、text、mediumtext、longtext;
類型
範圍
tinytext 255=2^8-1
text 65535=2^16-1
mediumtext 16777215=2^24-1
longtext 4294967295=4GB=2^32-1
char的存儲需求是定義時指定的固定長度;varchar的存儲需求是取決於實際值長度。?
set類型格式:set(’值1’,’值2’…) ——可以有0或者多個值,對於set而言,若插入的值為重復的,則只娶壹個。插入的值亂序,則自動按順序插入排列。插入不正常值,則忽略。?
二進制類型:?
bit(M)——保存位字段值(位字段類型),M表示值的位數;?
eg:select BIN(b+0) from 表名;—–b為列名;b+0表示將二進制的結果轉換為對應的數字的值,BIN()函數將數字轉換為二進制。?
blog——-二進制大對象,用來存儲可變數量的數據。
數據類型
存儲範圍(字節)
tinyblog 最多255=2^8-1 字節
bolg 最多65535=2^16-1 字節
mediumblog 最多16777215=2^24-1 字節
longblog 最多4294967295=4GB=2^32-1 字節