列類型 需要的存儲量
TINYINT 1 字節(jié)
SMALLINT 2 個字節(jié)
MEDIUMINT 3 個字節(jié)
INT 4 個字節(jié)
INTEGER 4 個字節(jié)
BIGINT 8 個字節(jié)
FLOAT(X) 4 如果 X < = 24 或 8 如果 25 < = X < = 53
FLOAT 4 個字節(jié)
DOUBLE 8 個字節(jié)
DOUBLE PRECISION 8 個字節(jié)
REAL 8 個字節(jié)
DECIMAL(M,D) M字節(jié)(D+2 , 如果M < D)
NUMERIC(M,D) M字節(jié)(D+2 , 如果M < D)
日期和時間類型
列類型 需要的存儲量
DATE 3 個字節(jié)
DATETIME 8 個字節(jié)
TIMESTAMP 4 個字節(jié)
TIME 3 個字節(jié)
YEAR 1 字節(jié)
串類型
列類型 需要的存儲量
CHAR(M) M字節(jié)闭树,1 <= M <= 255 字節(jié)
VARCHAR(M) L+1 字節(jié), 在此L <= M和1 <= M <= 255
TINYBLOB, TINYTEXT L+1 字節(jié), 在此L< 2 ^ 8字節(jié)
BLOB, TEXT L+2 字節(jié), 在此L< 2 ^ 16字節(jié)
MEDIUMBLOB, MEDIUMTEXT L+3 字節(jié), 在此L< 2 ^ 24字節(jié)
LONGBLOB, LONGTEXT L+4 字節(jié), 在此L< 2 ^ 32字節(jié)
ENUM('value1','value2',...) 1 或 2 個字節(jié), 取決于枚舉值的數(shù)目(最大值65535)
SET('value1','value2',...) 1,2荒澡,3报辱,4或8個字節(jié), 取決于集合成員的數(shù)量(最多64個成員)**
BIT[(M)]
位字段類型。M表示每個值的位數(shù)仰猖,范圍為從1到64。如果M被省略奈籽, 默認(rèn)為1饥侵。
· TINYINT[(M)] [UNSIGNED] [ZEROFILL]
很小的整數(shù)。帶符號的范圍是-128到127衣屏。無符號的范圍是0到255躏升。
· BOOL,BOOLEAN
是TINYINT(1)的同義詞狼忱。zero值被視為假膨疏。非zero值視為真。
在將來钻弄,將根據(jù)標(biāo)準(zhǔn)SQL引入完全布爾類型的處理佃却。
· SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
小的整數(shù)。帶符號的范圍是-32768到32767窘俺。無符號的范圍是0到65535饲帅。
· MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
中等大小的整數(shù)。帶符號的范圍是-8388608到8388607瘤泪。無符號的范圍是0到16777215灶泵。
· INT[(M)] [UNSIGNED] [ZEROFILL]
普通大小的整數(shù)。帶符號的范圍是-2147483648到2147483647对途。無符號的范圍是0到4294967295赦邻。
· INTEGER[(M)] [UNSIGNED] [ZEROFILL]
這是INT的同義詞。
· BIGINT[(M)] [UNSIGNED] [ZEROFILL]
大整數(shù)实檀。帶符號的范圍是-9223372036854775808到9223372036854775807惶洲。無符號的范圍是0到18446744073709551615按声。
應(yīng)清楚BIGINT列的下述內(nèi)容:
o 使用帶符號的BIGINT或DOUBLE值進(jìn)行所有算法,因此除了位函數(shù)湃鹊,不應(yīng)使用大于9223372036854775807(63位)的無符號的大整數(shù)! 如果這樣做儒喊,結(jié)果中的最后幾位可能出錯,這是由于將BIGINT值轉(zhuǎn)換為DOUBLE進(jìn)行四舍五入時造成的錯誤币呵。
MySQL可以在以下情況下處理BIGINT:
§ 當(dāng)使用整數(shù)在一個BIGINT列保存大的無符號的值時怀愧。
§ 在MIN(col_name)或MAX(col_name)中,其中col_name指BIGINT列余赢。
§ 使用操作符(+芯义,-,*等等)并且兩個操作數(shù)均為整數(shù)時妻柒。
o 總是可以使用一個字符串在BIGINT列中保存嚴(yán)格整數(shù)值扛拨。在這種情況下,MySQL執(zhí)行字符串-數(shù)字轉(zhuǎn)換举塔,其間不存在雙精度表示绑警。
o 當(dāng)兩個操作數(shù)均為整數(shù)值時,-央渣、+和* 操作符使用BIGINT算法计盒。這說明如果乘兩個大整數(shù)(或來自返回整數(shù)的函數(shù)),當(dāng)結(jié)果大于9223372036854775807時芽丹,會得到意想不到的結(jié)果北启。**
MySQL支持大量的列類型,它可以被分為3類:數(shù)字類型拔第、日期和時間類型以及字符串(字符)類型咕村。本節(jié)首先給出可用類型的一個概述,并且總結(jié)每個列類型的存儲需求蚊俺,然后提供每個類中的類型性質(zhì)的更詳細(xì)的描述懈涛。概述有意簡化,更詳細(xì)的說明應(yīng)該考慮到有關(guān)特定列類型的附加信息泳猬,例如你能為其指定值的允許格式肩钠。
由MySQL支持的列類型列在下面。下列代碼字母用于描述中:
M
指出最大的顯示尺寸暂殖。最大的合法的顯示尺寸是 255 价匠。
D **列類型 需要的存儲量
TINYINT 1 字節(jié)
SMALLINT 2 個字節(jié)
MEDIUMINT 3 個字節(jié)
INT 4 個字節(jié)
INTEGER 4 個字節(jié)
BIGINT 8 個字節(jié)
FLOAT(X) 4 如果 X < = 24 或 8 如果 25 < = X < = 53
FLOAT 4 個字節(jié)
DOUBLE 8 個字節(jié)
DOUBLE PRECISION 8 個字節(jié)
REAL 8 個字節(jié)
DECIMAL(M,D) M字節(jié)(D+2 , 如果M < D)
NUMERIC(M,D) M字節(jié)(D+2 , 如果M < D)
日期和時間類型
列類型 需要的存儲量
DATE 3 個字節(jié)
DATETIME 8 個字節(jié)
TIMESTAMP 4 個字節(jié)
TIME 3 個字節(jié)
YEAR 1 字節(jié)
串類型
列類型 需要的存儲量
CHAR(M) M字節(jié),1 <= M <= 255 字節(jié)
VARCHAR(M) L+1 字節(jié), 在此L <= M和1 <= M <= 255
TINYBLOB, TINYTEXT L+1 字節(jié), 在此L< 2 ^ 8字節(jié)
BLOB, TEXT L+2 字節(jié), 在此L< 2 ^ 16字節(jié)
MEDIUMBLOB, MEDIUMTEXT L+3 字節(jié), 在此L< 2 ^ 24字節(jié)
LONGBLOB, LONGTEXT L+4 字節(jié), 在此L< 2 ^ 32字節(jié)
ENUM('value1','value2',...) 1 或 2 個字節(jié), 取決于枚舉值的數(shù)目(最大值65535)
SET('value1','value2',...) 1呛每,2踩窖,3,4或8個字節(jié), 取決于集合成員的數(shù)量(最多64個成員)**
**BIT[(M)]
位字段類型晨横。M表示每個值的位數(shù)洋腮,范圍為從1到64箫柳。如果M被省略, 默認(rèn)為1啥供。
· TINYINT[(M)] [UNSIGNED] [ZEROFILL]
很小的整數(shù)悯恍。帶符號的范圍是-128到127。無符號的范圍是0到255伙狐。
· BOOL涮毫,BOOLEAN
是TINYINT(1)的同義詞。zero值被視為假贷屎。非zero值視為真罢防。
在將來,將根據(jù)標(biāo)準(zhǔn)SQL引入完全布爾類型的處理唉侄。
· SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
小的整數(shù)咒吐。帶符號的范圍是-32768到32767。無符號的范圍是0到65535属划。
· MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
中等大小的整數(shù)恬叹。帶符號的范圍是-8388608到8388607。無符號的范圍是0到16777215同眯。
· INT[(M)] [UNSIGNED] [ZEROFILL]
普通大小的整數(shù)绽昼。帶符號的范圍是-2147483648到2147483647。無符號的范圍是0到4294967295嗽测。
· INTEGER[(M)] [UNSIGNED] [ZEROFILL]
這是INT的同義詞绪励。
· BIGINT[(M)] [UNSIGNED] [ZEROFILL]
大整數(shù)肿孵。帶符號的范圍是-9223372036854775808到9223372036854775807唠粥。無符號的范圍是0到18446744073709551615。
應(yīng)清楚BIGINT列的下述內(nèi)容:
o 使用帶符號的BIGINT或DOUBLE值進(jìn)行所有算法停做,因此除了位函數(shù)晤愧,不應(yīng)使用大于9223372036854775807(63位)的無符號的大整數(shù)! 如果這樣做,結(jié)果中的最后幾位可能出錯蛉腌,這是由于將BIGINT值轉(zhuǎn)換為DOUBLE進(jìn)行四舍五入時造成的錯誤官份。
MySQL可以在以下情況下處理BIGINT:
§ 當(dāng)使用整數(shù)在一個BIGINT列保存大的無符號的值時。
§ 在MIN(col_name)或MAX(col_name)中烙丛,其中col_name指BIGINT列舅巷。
§ 使用操作符(+,-河咽,*等等)并且兩個操作數(shù)均為整數(shù)時钠右。
o 總是可以使用一個字符串在BIGINT列中保存嚴(yán)格整數(shù)值。在這種情況下忘蟹,MySQL執(zhí)行字符串-數(shù)字轉(zhuǎn)換飒房,其間不存在雙精度表示搁凸。
o 當(dāng)兩個操作數(shù)均為整數(shù)值時,-狠毯、+和* 操作符使用BIGINT算法护糖。這說明如果乘兩個大整數(shù)(或來自返回整數(shù)的函數(shù)),當(dāng)結(jié)果大于9223372036854775807時嚼松,會得到意想不到的結(jié)果嫡良。**
[**下面內(nèi)容來自PHP100**](http://www.php100.com/)
**MySQL支持大量的列類型,它可以被分為3類:數(shù)字類型惜颇、日期和時間類型以及字符串(字符)類型皆刺。本節(jié)首先給出可用類型的一個概述,并且總結(jié)每個列類型的存儲需求凌摄,然后提供每個類中的類型性質(zhì)的更詳細(xì)的描述羡蛾。概述有意簡化,更詳細(xì)的說明應(yīng)該考慮到有關(guān)特定列類型的附加信息锨亏,例如你能為其指定值的允許格式痴怨。**
** 由MySQL支持的列類型列在下面。下列代碼字母用于描述中:**
**M
指出最大的顯示尺寸器予。最大的合法的顯示尺寸是 255 浪藻。
D
適用于浮點類型并且指出跟隨在十進(jìn)制小數(shù)點后的數(shù)碼的數(shù)量。最大可能的值是30乾翔,但是應(yīng)該不大于M-2爱葵。
方括號(“[”和“]”)指出可選的類型修飾符的部分。**
**注意反浓,如果你指定一個了為ZEROFILL萌丈,MySQL將為該列自動地增加UNSIGNED屬性。**
**TINYINT[(M)] [UNSIGNED] [ZEROFILL]
一個很小的整數(shù)雷则。有符號的范圍是-128到127辆雾,無符號的范圍是0到255。**
**SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
一個小整數(shù)月劈。有符號的范圍是-32768到32767度迂,無符號的范圍是0到65535。**
**MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
一個中等大小整數(shù)猜揪。有符號的范圍是-8388608到8388607惭墓,無符號的范圍是0到16777215。**
**INT[(M)] [UNSIGNED] [ZEROFILL]
一個正常大小整數(shù)而姐。有符號的范圍是-2147483648到2147483647腊凶,無符號的范圍是0到4294967295。**
**INTEGER[(M)] [UNSIGNED] [ZEROFILL]
這是INT的一個同義詞。**
**BIGINT[(M)] [UNSIGNED] [ZEROFILL]**
**一個大整數(shù)吭狡。有符號的范圍是-9223372036854775808到9223372036854775807尖殃,無符號的范圍是0到**
**18446744073709551615。注意划煮,所有算術(shù)運算用有符號的BIGINT或DOUBLE值完成送丰,因此你不應(yīng)該使用大于9223372036854775807(63位)的有符號大整數(shù),除了位函數(shù)弛秋!注意器躏,當(dāng)兩個參數(shù)是INTEGER值時,-蟹略、+和*將使用BIGINT運算登失!這意味著如果你乘2個大整數(shù)(或來自于返回整數(shù)的函數(shù)),如果結(jié)果大于9223372036854775807挖炬,你可以得到意外的結(jié)果揽浙。一個浮點數(shù)字,不能是無符號的意敛,對一個單精度浮點數(shù)馅巷,其精度可以是<=24,對一個雙精度浮點數(shù)草姻,是在25 和53之間钓猬,這些類型如FLOAT和DOUBLE類型馬上在下面描述。FLOAT(X)有對應(yīng)的FLOAT和DOUBLE相同的范圍撩独,但是顯示尺寸和小數(shù)位數(shù)是未定義的敞曹。在MySQL3.23中,這是一個真正的浮點值综膀。在更早的MySQL版本中澳迫,F(xiàn)LOAT(precision)總是有2位小數(shù)。該句法為了ODBC兼容性而提供僧须。**
**FLOAT[(M,D)] [ZEROFILL]
一個小(單精密)浮點數(shù)字纲刀。不能無符號项炼。允許的值是-3.402823466E+38到-1.175494351E-38担平,0 和1.175494351E-38到3.402823466E+38。M是顯示寬度而D是小數(shù)的位數(shù)锭部。沒有參數(shù)的FLOAT或有<24 的一個參數(shù)表示一個單精密浮點數(shù)字暂论。**
**DOUBLE[(M,D)] [ZEROFILL]
一個正常大小(雙精密)浮點數(shù)字。不能無符號拌禾。允許的值是-1.7976931348623157E+308到-2.2250738585072014E-308取胎、 0和2.2250738585072014E-308到1.7976931348623157E+308。M是顯示寬度而D是小數(shù)位數(shù)。沒有一個參數(shù)的DOUBLE或FLOAT(X)(25 < = X < = 53)代表一個雙精密浮點數(shù)字闻蛀。**
**DOUBLE PRECISION[(M,D)] [ZEROFILL]
**
**REAL[(M,D)] [ZEROFILL]
這些是DOUBLE同義詞匪傍。**
**DECIMAL[(M[,D])] [ZEROFILL]
一個未壓縮(unpack)的浮點數(shù)字。不能無符號觉痛。行為如同一個CHAR列:“未壓縮”意味著數(shù)字作為一個字符串被存儲役衡,值的每一位使用一個字符。小數(shù)點薪棒,并且對于負(fù)數(shù)手蝎,“-”符號不在M中計算。如果D是0俐芯,值將沒有小數(shù)點或小數(shù)部分棵介。DECIMAL值的最大范圍與DOUBLE相同,但是對一個給定的DECIMAL列吧史,實際的范圍可以通過M和D的選擇被限制邮辽。如果D被省略,它被設(shè)置為0贸营。如果M被省掉逆巍,它被設(shè)置為10。注意莽使,在MySQL3.22里锐极,M參數(shù)包括符號和小數(shù)點。**
**NUMERIC(M,D) [ZEROFILL]
這是DECIMAL的一個同義詞芳肌。**
**DATE
一個日期灵再。支持的范圍是'1000-01-01'到'9999-12-31'。MySQL以'YYYY-MM-DD'格式來顯示DATE值亿笤,但是允許你使用字符串或數(shù)字把值賦給DATE列翎迁。**
**DATETIME
一個日期和時間組合。支持的范圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'净薛。MySQL以'YYYY-MM-DD HH:MM:SS'格式來顯示DATETIME值汪榔,但是允許你使用字符串或數(shù)字把值賦給DATETIME的列。**
**TIMESTAMP[(M)]
一個時間戳記肃拜。范圍是'1970-01-01 00:00:00'到2037年的某時痴腌。MySQL以YYYYMMDDHHMMSS、YYMMDDHHMMSS燃领、YYYYMMDD或YYMMDD格式來顯示TIMESTAMP值士聪,取決于是否M是14(或省略)、12猛蔽、8或6剥悟,但是允許你使用字符串或數(shù)字把值賦給TIMESTAMP列灵寺。一個TIMESTAMP列對于記錄一個INSERT或UPDATE操作的日期和時間是有用的,因為如果你不自己給它賦值区岗,它自動地被設(shè)置為最近操作的日期和時間略板。你以可以通過賦給它一個NULL值設(shè)置它為當(dāng)前的日期和時間。
TIME
一個時間慈缔。范圍是'-838:59:59'到'838:59:59'蚯根。MySQL以'HH:MM:SS'格式來顯示TIME值,但是允許你使用字符串或數(shù)字把值賦給TIME列胀糜。**
**YEAR[(2|4)]
一個2或4位數(shù)字格式的年(缺省是4位)颅拦。允許的值是1901到2155,和0000(4位年格式)教藻,如果你使用2位距帅,1970-2069( 70-69)。MySQL以YYYY格式來顯示YEAR值括堤,但是允許你把使用字符串或數(shù)字值賦給YEAR列碌秸。(YEAR類型在MySQL3.22中是新類型。)**
**CHAR(M) [BINARY]
一個定長字符串悄窃,當(dāng)存儲時讥电,總是是用空格填滿右邊到指定的長度。M的范圍是1 ~ 255個字符轧抗。當(dāng)值被檢索時恩敌,空格尾部被刪除。CHAR值根據(jù)缺省字符集以大小寫不區(qū)分的方式排序和比較横媚,除非給出BINARY關(guān)鍵詞纠炮。NATIONAL CHAR(短形式NCHAR)是ANSI SQL的方式來定義CHAR列應(yīng)該使用缺省字符集。這是MySQL的缺省灯蝴。CHAR是CHARACTER的一個縮寫恢口。**
**[NATIONAL] VARCHAR(M) [BINARY]
一個變長字符串。注意:當(dāng)值被存儲時穷躁,尾部的空格被刪除(這不同于ANSI SQL規(guī)范)耕肩。M的范圍是1 ~ 255個字符。 VARCHAR值根據(jù)缺省字符集以大小寫不區(qū)分的方式排序和比較问潭,除非給出BINARY關(guān)鍵詞值猿诸。 VARCHAR是CHARACTER VARYING一個縮寫。**
**TINYBLOB
TINYTEXT
一個BLOB或TEXT列睦授,最大長度為255(2^8-1)個字符两芳。
BLOB
**
**TEXT
一個BLOB或TEXT列摔寨,最大長度為65535(2^16-1)個字符去枷。**
**MEDIUMBLOB
MEDIUMTEXT
一個BLOB或TEXT列,最大長度為16777215(2^24-1)個字符。
LONGBLOB
LONGTEXT
一個BLOB或TEXT列删顶,最大長度為4294967295(2^32-1)個字符竖螃。**
**ENUM('value1','value2',...)
枚舉。一個僅有一個值的字符串對象逗余,這個值式選自與值列表'value1'特咆、'value2', ...,或NULL。一個ENUM最多能有65535不同的值录粱。**
**SET('value1','value2',...)
一個集合腻格。能有零個或多個值的一個字符串對象,其中每一個必須從值列表'value1', 'value2', ...選出啥繁。一個SET最多能有64個成員菜职。**
適用于浮點類型并且指出跟隨在十進(jìn)制小數(shù)點后的數(shù)碼的數(shù)量。最大可能的值是30旗闽,但是應(yīng)該不大于M-2酬核。
方括號(“[”和“]”)指出可選的類型修飾符的部分。**
注意适室,
如果你指定一個了為ZEROFILL嫡意,MySQL將為該列自動地增加UNSIGNED屬性。
**TINYINT[(M)] [UNSIGNED] [ZEROFILL]
一個很小的整數(shù)捣辆。有符號的范圍是-128到127蔬螟,無符號的范圍是0到255。**
**SMALLINT[(M)] [UNSIGNED] [ZEROFILL]
一個小整數(shù)汽畴。有符號的范圍是-32768到32767促煮,無符號的范圍是0到65535。**
**MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]
一個中等大小整數(shù)整袁。有符號的范圍是-8388608到8388607菠齿,無符號的范圍是0到16777215。**
**INT[(M)] [UNSIGNED] [ZEROFILL]
一個正常大小整數(shù)坐昙。有符號的范圍是-2147483648到2147483647绳匀,無符號的范圍是0到4294967295。**
**INTEGER[(M)] [UNSIGNED] [ZEROFILL]
這是INT的一個同義詞炸客。**
**BIGINT[(M)] [UNSIGNED] [ZEROFILL]**
**一個大整數(shù)疾棵。有符號的范圍是-9223372036854775808到9223372036854775807,無符號的范圍是0到**
**18446744073709551615痹仙。注意博杖,所有算術(shù)運算用有符號的BIGINT或DOUBLE值完成湃交,因此你不應(yīng)該使用大于9223372036854775807(63位)的有符號大整數(shù),除了位函數(shù)赚爵!注意,當(dāng)兩個參數(shù)是INTEGER值時,-、+和*將使用BIGINT運算!這意味著如果你乘2個大整數(shù)(或來自于返回整數(shù)的函數(shù))隔箍,如果結(jié)果大于9223372036854775807,你可以得到意外的結(jié)果脚乡。一個浮點數(shù)字蜒滩,不能是無符號的,對一個單精度浮點數(shù)奶稠,其精度可以是<=24俯艰,對一個雙精度浮點數(shù),是在25 和53之間锌订,這些類型如FLOAT和DOUBLE類型馬上在下面描述蟆炊。FLOAT(X)有對應(yīng)的FLOAT和DOUBLE相同的范圍,但是顯示尺寸和小數(shù)位數(shù)是未定義的瀑志。在MySQL3.23中涩搓,這是一個真正的浮點值。在更早的MySQL版本中劈猪,F(xiàn)LOAT(precision)總是有2位小數(shù)昧甘。該句法為了ODBC兼容性而提供。**
**FLOAT[(M,D)] [ZEROFILL]
一個小(單精密)浮點數(shù)字战得。不能無符號充边。允許的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38常侦。M是顯示寬度而D是小數(shù)的位數(shù)浇冰。沒有參數(shù)的FLOAT或有<24 的一個參數(shù)表示一個單精密浮點數(shù)字。**
**DOUBLE[(M,D)] [ZEROFILL]
一個正常大小(雙精密)浮點數(shù)字聋亡。不能無符號肘习。允許的值是-1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308坡倔。M是顯示寬度而D是小數(shù)位數(shù)漂佩。沒有一個參數(shù)的DOUBLE或FLOAT(X)(25 < = X < = 53)代表一個雙精密浮點數(shù)字。**
**DOUBLE PRECISION[(M,D)] [ZEROFILL]
**
**REAL[(M,D)] [ZEROFILL]
這些是DOUBLE同義詞罪塔。**
**DECIMAL[(M[,D])] [ZEROFILL]
一個未壓縮(unpack)的浮點數(shù)字投蝉。不能無符號。行為如同一個CHAR列:“未壓縮”意味著數(shù)字作為一個字符串被存儲征堪,值的每一位使用一個字符瘩缆。小數(shù)點,并且對于負(fù)數(shù)佃蚜,“-”符號不在M中計算庸娱。如果D是0着绊,值將沒有小數(shù)點或小數(shù)部分。DECIMAL值的最大范圍與DOUBLE相同涌韩,但是對一個給定的DECIMAL列畔柔,實際的范圍可以通過M和D的選擇被限制氯夷。如果D被省略臣樱,它被設(shè)置為0。如果M被省掉腮考,它被設(shè)置為10雇毫。注意,在MySQL3.22里踩蔚,M參數(shù)包括符號和小數(shù)點棚放。**
**NUMERIC(M,D) [ZEROFILL]
這是DECIMAL的一個同義詞。**
**DATE
一個日期馅闽。支持的范圍是'1000-01-01'到'9999-12-31'飘蚯。MySQL以'YYYY-MM-DD'格式來顯示DATE值,但是允許你使用字符串或數(shù)字把值賦給DATE列福也。**
**DATETIME
一個日期和時間組合局骤。支持的范圍是'1000-01-01 00:00:00'到'9999-12-31 23:59:59'。MySQL以'YYYY-MM-DD HH:MM:SS'格式來顯示DATETIME值暴凑,但是允許你使用字符串或數(shù)字把值賦給DATETIME的列峦甩。**
**TIMESTAMP[(M)]
一個時間戳記。范圍是'1970-01-01 00:00:00'到2037年的某時现喳。MySQL以YYYYMMDDHHMMSS凯傲、YYMMDDHHMMSS、YYYYMMDD或YYMMDD格式來顯示TIMESTAMP值嗦篱,取決于是否M是14(或省略)冰单、12、8或6灸促,但是允許你使用字符串或數(shù)字把值賦給TIMESTAMP列球凰。一個TIMESTAMP列對于記錄一個INSERT或UPDATE操作的日期和時間是有用的,因為如果你不自己給它賦值腿宰,它自動地被設(shè)置為最近操作的日期和時間呕诉。你以可以通過賦給它一個NULL值設(shè)置它為當(dāng)前的日期和時間。
TIME
一個時間吃度。范圍是'-838:59:59'到'838:59:59'甩挫。MySQL以'HH:MM:SS'格式來顯示TIME值,但是允許你使用字符串或數(shù)字把值賦給TIME列椿每。**
**YEAR[(2|4)]
一個2或4位數(shù)字格式的年(缺省是4位)伊者。允許的值是1901到2155英遭,和0000(4位年格式),如果你使用2位亦渗,1970-2069( 70-69)挖诸。MySQL以YYYY格式來顯示YEAR值,但是允許你把使用字符串或數(shù)字值賦給YEAR列法精。(YEAR類型在MySQL3.22中是新類型多律。)**
**CHAR(M) [BINARY]
一個定長字符串,當(dāng)存儲時搂蜓,總是是用空格填滿右邊到指定的長度狼荞。M的范圍是1 ~ 255個字符。當(dāng)值被檢索時帮碰,空格尾部被刪除相味。CHAR值根據(jù)缺省字符集以大小寫不區(qū)分的方式排序和比較,除非給出BINARY關(guān)鍵詞殉挽。NATIONAL CHAR(短形式NCHAR)是ANSI SQL的方式來定義CHAR列應(yīng)該使用缺省字符集丰涉。這是MySQL的缺省。CHAR是CHARACTER的一個縮寫斯碌。**
**[NATIONAL] VARCHAR(M) [BINARY]
一個變長字符串一死。注意:當(dāng)值被存儲時,尾部的空格被刪除(這不同于ANSI SQL規(guī)范)输拇。M的范圍是1 ~ 255個字符摘符。 VARCHAR值根據(jù)缺省字符集以大小寫不區(qū)分的方式排序和比較,除非給出BINARY關(guān)鍵詞值策吠。 VARCHAR是CHARACTER VARYING一個縮寫逛裤。**
**TINYBLOB
TINYTEXT
一個BLOB或TEXT列,最大長度為255(2^8-1)個字符猴抹。
BLOB
**
**TEXT
一個BLOB或TEXT列带族,最大長度為65535(2^16-1)個字符。**
**MEDIUMBLOB
MEDIUMTEXT
一個BLOB或TEXT列蟀给,最大長度為16777215(2^24-1)個字符蝙砌。
LONGBLOB
LONGTEXT
一個BLOB或TEXT列,最大長度為4294967295(2^32-1)個字符跋理。**
**ENUM('value1','value2',...)
枚舉择克。一個僅有一個值的字符串對象,這個值式選自與值列表'value1'前普、'value2', ...,或NULL肚邢。一個ENUM最多能有65535不同的值。**
**SET('value1','value2',...)
一個集合。能有零個或多個值的一個字符串對象骡湖,其中每一個必須從值列表'value1', 'value2', ...選出贱纠。一個SET最多能有64個成員。**