比較詳細的MySQL字段類型說明
2024-07-24 12:44:06
供稿:網友
由MySQL支持的列類型列在下面。下列代碼字母用于描述中:
M
指出最大的顯示尺寸。最大的合法的顯示尺寸是 255 。
D
適用于浮點類型并且指出跟隨在十進制小數點后的數碼的數量。最大可能的值是30,但是應該不大于M-2。
方括號(“[”和“]”)指出可選的類型修飾符的部分。
注意,如果你指定一個了為ZEROFILL,MySQL將為該列自動地增加UNSIGNED屬性。
TINYINT[(M)] [UNSIGNED] [ZEROFILL]
一個很小的整數。有符號的范圍是-128到127,無符號的范圍是0到255。
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。注意,所有算術運算用有符號的BIGINT或DOUBLE值完成,因此你不應該使用大于9223372036854775807(63位)的有符號大整數,除了位函數!注意,當兩個參數是INTEGER值時,-、+和*將使用BIGINT運算!這意味著如果你乘2個大整數(或來自于返回整數的函數),如果結果大于9223372036854775807,你可以得到意外的結果。一個浮點數字,不能是無符號的,對一個單精度浮點數,其精度可以是<=24,對一個雙精度浮點數,是在25 和53之間,這些類型如FLOAT和DOUBLE類型馬上在下面描述。FLOAT(X)有對應的FLOAT和DOUBLE相同的范圍,但是顯示尺寸和小數位數是未定義的。在MySQL3.23中,這是一個真正的浮點值。在更早的MySQL版本中,FLOAT(precision)總是有2位小數。該句法為了ODBC兼容性而提供。
FLOAT[(M,D)] [ZEROFILL]
一個小(單精密)浮點數字。不能無符號。允許的值是-3.402823466E+38到-1.175494351E-38,0 和1.175494351E-38到3.402823466E+38。M是顯示寬度而D是小數的位數。沒有參數的FLOAT或有<24 的一個參數表示一個單精密浮點數字。
DOUBLE[(M,D)] [ZEROFILL]
一個正常大小(雙精密)浮點數字。不能無符號。允許的值是-1.7976931348623157E+308到-2.2250738585072014E-308、 0和2.2250738585072014E-308到1.7976931348623157E+308。M是顯示寬度而D是小數位數。沒有一個參數的DOUBLE或FLOAT(X)(25 < = X < = 53)代表一個雙精密浮點數字。
DOUBLE PRECISION[(M,D)] [ZEROFILL]
REAL[(M,D)] [ZEROFILL]
這些是DOUBLE同義詞。
DECIMAL[(M[,D])] [ZEROFILL]
一個未壓縮(unpack)的浮點數字。不能無符號。行為如同一個CHAR列:“未壓縮”意味著數字作為一個字符串被存儲,值的每一位使用一個字符。小數點,并且對于負數,“-”符號不在M中計算。如果D是0,值將沒有小數點或小數部分。DECIMAL值的最大范圍與DOUBLE相同,但是對一個給定的DECIMAL列,實際的范圍可以通過M和D的選擇被限制。如果D被省略,它被設置為0。如果M被省掉,它被設置為10。注意,在MySQL3.22里,M參數包括符號和小數點。