天天看點

mysql基礎:列類型--整型

mysql列類型--字元串  http://blog.csdn.net/jk110333/article/details/9342301

mysql列類型--時間和日期    http://blog.csdn.net/jk110333/article/details/9342319

MySQL支援多種列類型:數值類型、日期/時間類型和字元串(字元)類型

說明:

·         M

表示最大顯示寬度。最大有效顯示寬度是255。

·         D

适用于浮點和定點類型,并表示小數點後面的位數。最大可能的值是30,但不應大于M-2。

   · 方括号(‘[’和‘]’)表示可選部分。

如果為一個數值列指定ZEROFILL,MySQL自動為該列添加UNSIGNED屬性。

SERIAL是BIGINT UNSIGNED NOT NULL AUTO_INCREMENT UNIQUE的一個别名。

在整數列定義中,SERIAL DEFAULT VALUE是NOT NULL AUTO_INCREMENT UNIQUE的一個别名。

注:上面NOT NULL是不可為空,AUTO_INCREMENT是遞增,指定起始值為1用AUTO_INCREMENT=1語句,不指定預設也為1。

UNIQE是不可重複的意思,取值不能與已經存在的資料重複。

整型資料

·         BIT[(M)]

位字段類型。M表示每個值的位數,範圍為從1到64。如果M被省略, 預設為1。

·         TINYINT[(M)] [UNSIGNED] [ZEROFILL]

很小的整數。帶符号的範圍是-128到127。無符号的範圍是0到255。

·         BOOL,BOOLEAN

是TINYINT(1)的同義詞。zero值被視為假。非zero值視為真。

在将來,将根據标準SQL引入完全布爾類型的處理。

·         SMALLINT[(M)] [UNSIGNED] [ZEROFILL]

小的整數。帶符号的範圍是-32768到32767。無符号的範圍是0到65535。

·         MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL]

中等大小的整數。帶符号的範圍是-8388608到8388607。無符号的範圍是0到16777215。

·         INT[(M)] [UNSIGNED] [ZEROFILL]

普通大小的整數。帶符号的範圍是-2147483648到2147483647。無符号的範圍是0到4294967295。

·         INTEGER[(M)] [UNSIGNED] [ZEROFILL]

這是INT的同義詞。

·         BIGINT[(M)] [UNSIGNED] [ZEROFILL]

大整數。帶符号的範圍是-9223372036854775808到9223372036854775807。無符号的範圍是0到18446744073709551615。

    ·         FLOAT[(M,D)] [UNSIGNED] [ZEROFILL]

小(單精度)浮點數。允許的值是-3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。這些是理論限制,基于IEEE标準。實際的範圍根據硬體或作業系統的不同可能稍微小些。

M是小數縱位數,D是小數點後面的位數。如果M和D被省略,根據硬體允許的限制來儲存值。單精度浮點數精确到大約7位小數位。

如果指定UNSIGNED,不允許負值。

·         DOUBLE[(M,D)] [UNSIGNED] [ZEROFILL]

普通大小(雙精度)浮點數。允許的值是-1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308。這些是理論限制,基于IEEE标準。實際的範圍根據硬體或作業系統的不同可能稍微小些。

M是小數總位數,D是小數點後面的位數。如果M和D被省略,根據硬體允許的限制來儲存值。雙精度浮點數精确到大約15位小數位。

·         DOUBLE PRECISION[(M,D)] [UNSIGNED] [ZEROFILL], REAL[(M,D)] [UNSIGNED] [ZEROFILL]

為DOUBLE的同義詞。除了:如果SQL伺服器模式包括REAL_AS_FLOAT選項,REAL是FLOAT的同義詞而不是DOUBLE的同義詞。

·         FLOAT(p) [UNSIGNED] [ZEROFILL]

浮點數。p表示精度(以位數表示),但MySQL隻使用該值來确定是否結果列的資料類型為FLOAT或DOUBLE。如果p為從0到24,資料類型變為沒有M或D值的FLOAT。如果p為從25到53,資料類型變為沒有M或D值的DOUBLE。結果列範圍與本節前面描述的單精度FLOAT或雙精度DOUBLE資料類型相同。

FLOAT(p)文法與ODBC相容。

·         DECIMAL[(M[,D])] [UNSIGNED] [ZEROFILL]

壓縮的“嚴格”定點數。M是小數位數(精度)的總數,D是小數點(标度)後面的位數。小數點和(負數)的‘-’符号不包括在M中。如果D是0,則值沒有小數點或分數部分。DECIMAL整數最大位數(M)為65。支援的十進制數的最大位數(D)是30。如果D被省略, 預設是0。如果M被省略, 預設是10。

所有DECIMAL列的基本計算(+,-,*,/)用65位精度完成。

·         DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]

繼續閱讀