mysql的列型別主要有三種:數字、字串和日期。
數字列型別
數字列型別用於儲存各種數字資料,如**、年齡或者數量。數字列型別主要分為兩種:整數型和浮點型。所有的數字列型別都允許有兩個選項: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——字元。固定長度的字串,在右邊補齊空格,達到指定的長度。支援從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'
mysql欄位型別解析 MySQL欄位型別最全解析
前言 要了解乙個資料庫,我們必須了解其支援的資料型別。mysql 支援大量的字段型別,其中常用的也有很多。前面文章我們也講過 int 及 varchar 型別的用法,但一直沒有全面講過字段型別,本篇文章我們將把字段型別一網打盡,講一講常用字段型別的用法。常用的字段型別大致可以分為數值型別 字串型別 ...
mysql密碼字段型別 MySQL欄位型別最全解析
前言 要了解乙個資料庫,我們必須了解其支援的資料型別。mysql 支援大量的字段型別,其中常用的也有很多。前面文章我們也講過 int 及 varchar 型別的用法,但一直沒有全面講過字段型別,本篇文章我們將把字段型別一網打盡,講一講常用字段型別的用法。常用的字段型別大致可以分為 數值型別 字串型別...
mysql 字段 MySQL欄位型別詳解
mysql支援大量的列型別,它可以被分為3類 數字型別 日期和時間型別以及字串 字元 型別。本節首先給出可用型別的乙個概述,並且總結每個列型別的儲存需求,然後提供每個類中的型別性質的更詳細的描述。概述有意簡化,更詳細的說明應該考慮到有關特定列型別的附加資訊,例如你能為其指定值的允許格式。由mysql...