- M:要顯示的位數,最大有效範圍是255。
- D:要顯示的小數位數,最大可能的值是30,但是應該不大於M-2。
- M和D若省略,則會根據計算機硬體來決定。單精度精確約7位小數。
- 數值列指定ZEROFILL,MySQL會自動為該列加上UNSIGNED屬性。
- ZEROFILL,自動填0,若有個int(4)資料型態,若填入一個數值1那他會變成0001。
- UNSIGNED:表示無號數型態。
- 如果指定UNSIGNED,不允許負值。
資料名稱 | bit | 數值範圍 | 選項 | 說明 |
TINYINT (M) | 8 | 有號:-128~127 無號:0~255 | UNSIGNED、 ZEROFILL | |
SMALLINT(M) | 16 | 有號:-32768~32767 無號:0~65535 | UNSIGNED、ZEROFILL | |
MEDIUMINT(M) | 24 | 有號:-8388608~8388607 無號:0~16777215 | UNSIGNED、ZEROFILL | |
INT(M) | 32 | 有號:-2147483648~2147483647 無號:0~4294967295 | UNSIGNED、ZEROFILL | |
INTEGER(M) | 32 | 有號:-2147483648~2147483647 無號:0~4294967295 | UNSIGNED、ZEROFILL | |
BIGINT[(M)] | 64 | 有號:-9223372036854775808~9223372036854775807 無號:0~18446744073709551615 | UNSIGNED、ZEROFILL |
資料名稱 | bit | 數值範圍 | 選項 | 說明 |
FLOAT (M,D) | 32 | -3.402823466E+38到-1.175494351E-38、0和1.175494351E-38到3.402823466E+38。 | UNSIGNED、ZEROFILL | 單精度浮點數 |
DOUBLE (M,D) | 64 | -1.7976931348623157E+308到-2.2250738585072014E-308、0和2.2250738585072014E-308到 1.7976931348623157E+308。 | UNSIGNED、ZEROFILL | 雙精度浮點數 |
DOUBLE PRECISION(M,D) | 64 | UNSIGNED、ZEROFILL | DOUBLE同義詞 | |
REAL(M,D) | 32 | UNSIGNED、ZEROFILL | FLOAT同義詞 | |
FLOAT(p) | UNSIGNED、ZEROFILL | p表示精度(以位數表示),但MySQL只使用該值來確定是否結果列的資料型態為FLOAT或DOUBLE。如果p值是0~24,資料型態將為沒有M或D值得FLOAT。如果p值是25~53,則資料型態將為沒有M或D值得DOUBLE。 | ||
DECIMAL(M,D) | UNSIGNED、ZEROFILL | 壓縮的“嚴格”定點數。 M是小數位數(精度)的總數,D是小數點(標度)後面的位數。小數點和(負數)的'-'符號不包括在M中。如果D是0,則值沒有小數點或分數部分。 DECIMAL整數最大位數(M)為65。支持的十進制數的最大位數(D)是30。如果D被省略, 預設是0。如果M被省略, 預設是10。 | ||
DEC(M,D) | UNSIGNED、ZEROFILL | DECIMAL的同義詞 | ||
NUMERIC(M,D) | UNSIGNED、ZEROFILL | DECIMAL的同義詞 | ||
FIXED(M,D) | UNSIGNED、ZEROFILL | FIXED同義詞適用於與其它服務器的兼容性。 |
參考資料:
http://dev.mysql.com/doc/refman/5.1/zh/column-types.html#choosing-types
沒有留言:
張貼留言