MySQL的列類型主要有三種:數字、字串和日期。
mysql官方說明文檔: http://dev.mysql.com/doc/refman/5.1/zh/data-types.html
下面來詳細的說明,不一定准確不一定完整,請多包含或者提出您的建議,我很樂意傾聽,呵呵.
數字列類型 int、bigint、smallint、tinyint
數字列類型用於儲存各種數字數據,如價格、年齡或者數量。數字列類型主要分為兩種:整數型和浮點型。所有的數字列類型都允許有兩個選 項:UNSIGNED和ZEROFILL。選擇UNSIGNED的列不允許有負數,選擇了ZEROFILL的列會為數值添加零。下面是MySQL中可用的 數字列類型
• TINYINT——一個微小的整數,支持 -128到127(SIGNED),0到255(UNSIGNED),需要1個字節存儲
• BIT——同TINYINT(1)
• BOOL——同TINYINT(1)
• SMALLINT——一個小整數,支持 -32768到32767(SIGNED),0到65535(UNSIGNED),需要2個字節存儲 MEDIUMINT——一個中等整數,支持 -8388608到8388607(SIGNED),0到16777215(UNSIGNED),需要3個字節存儲
• INT——一個整數,支持 -2147493648到2147493647(SIGNED),0到4294967295(UNSIGNED),需要4個字節存儲
• INTEGER——同INT
• BIGINT——一個大整數,支持 -9223372036854775808到9223372036854775807(SIGNED),0到18446744073709551615(UNSIGNED),需要8個字節存儲
• FLOAT(precision)——一個浮點數。precision<=24用於單精度浮點數;precision在25和53之間,用於又精度 浮點數。FLOAT(X)與相誚的FLOAT和DOUBLE類型有差相同的范圍,但是沒有定義顯示尺寸和小數位數。在MySQL3.23之前,這不是一個 真的浮點值,且總是有兩位小數。MySQL中的所有計算都用雙精度,所以這會帶來一些意想不到的問題。
• FLOAT——一個小的菜單精度浮點數。支持 -3.402823466E+38到-1.175494351E-38,0和1.175494351E-38 to 3.402823466E+38,需要4個字節存儲。如果是UNSIGNED,正數的范圍保持不變,但負數是不允許的。
• DOUBLE——一個雙精度浮點數。支持 -1.7976931348623157E+308到-2.2250738585072014E-308,0和2.2250738585072014E- 308到1.7976931348623157E+308。如果是FLOAT,UNSIGNED不會改變正數范圍,但負數是不允許的。
• DOUBLE PRECISION——同DOUBLE
• REAL——同DOUBLE
• DECIMAL——將一個數像字符串那樣存儲,每個字符占一個字節
• DEC——同DECIMAL
• NUMERIC——同DECIMAL
字符串列類型:char、varchar、nvarchar
字符串列類型用於存儲任何類型的字符數據,如名字、地址或者報紙文章。下面是MySQL中可用的字符串列類型
• CHAR——字符。固定長度的字串,在右邊補齊空格,達到指定的長度。支持從0到155個字符。搜索值時,后綴的空格將被刪除。
• VARCHAR——可變長的字符。一個可變長度的字串,其中的后綴空格在存儲值時被刪除。支持從0到255字符
• TINYBLOB——微小的二進制對象。支持255個字符。需要長度+1字節的存儲。與TINYTEXT一樣,只不過搜索時是區分大小寫的。(0.25KB)
• TINYTEXT——支持255個字符。要求長度+1字節的存儲。與TINYBLOB一樣,只不過搜索時會忽略大小寫。(0.25KB)
• BLOB——二進制對象。支持65535個字符。需要長度+2字節的存儲。 (64KB)
• TEXT——支持65535個字符。要求長度+2字節的存儲。 (64KB)
• MEDIUMBLOB——中等大小的二進制對象。支持16777215個字符。需要長度+3字節的存儲。 (16M)
• MEDIUMTEXT——支持16777215個字符。需要長度+3字節的存儲。 (16M)
• LONGBLOB——大的的二進制對象。支持4294967295個字符。需要長度+4字節的存儲。 (4G)
• LONGTEXT——支持4294967295個字符。需要長度+4字節的存儲。(4G)
• ENUM——枚舉。只能有一個指定的值,即NULL或"",最大有65535個值
• SET——一個集合。可以有0到64個值,均來自於指定清單.
日期和時間列類型
日期和時間列類型用於處理時間數據,可以存儲當日的時間或出生日期這樣的數據。格式的規定:Y表示年、M(前M)表示月、D表示日、H表示小時、M(后M)表示分鍾、S表示秒。下面是MySQL中可用的日期和時間列類型
• DATETIME——格式:'YYYY-MM-DD HH:MM:SS',范圍:'1000-01-01 00:00:00'到'9999-12-31 23:59:59'
• DATE——格式:'YYYY-MM-DD',范圍:'1000-01-01'到'9999-12-31'
• TIMESTAMP——格式:'YYYYMMDDHHMMSS'、'YYMMDDHHMMSS'、'YYYYMMDD'、'YYMMDD',范圍:'1970-01-01 00:00:00'到'2037-01-01 00:00:00'
• TIME——格式:'HH:MM:SS'
• YEAR——格式:'YYYY,范圍:'1901'到'2155'