mysql基礎:列類型--整型 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位小數位。 如果指定UNSIGNED,不允許負值。 ·
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。 如果指定UNSIGNED,不允許負值。 所有DECIMAL列的基本計算(+,-,*,/)用65位精度完成。
· DEC[(M[,D])] [UNSIGNED] [ZEROFILL], NUMERIC[(M[,D])] [UNSIGNED] [ZEROFILL], FIXED[(M[,D])] [UNSIGNED] [ZEROFILL]
是DECIMAL的同義詞。FIXED同義詞適用於與其它服務器的兼容性。