程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

列類型

編輯:關於MYSQL數據庫
6.2 列類型

MySQL 支持大量的列類型,它們可以被分為 3 類:數字類型、日期和時間類型以及字符串(字符)類型。這個章節首先給出可用類型的概述,並且總結各類型所需的存儲需求,然後提供各類型中的類型范疇更詳細的描述。概述有意地簡化了。更詳細的說明應該參考特寫列類型的附加信息,例如你能為其指定值的允許格式。

MySQL 支持的列類型在下面列出。下列代碼字母用於描述中:

M
指出最大的顯示尺寸。最大的顯示尺寸長度為 255。
D
適用於浮點類型。指出跟隨在十進制小數點後的數字數量。最大可能值為 30,但不應大於 M-2。

方括號 (“[” and “]”) 指定可選的類型修飾部份。

注意,如果為一個列指定了 ZEROFILL,MySQL 將自動為這個列添加 UNSIGNED 屬性。

警告:你應該知道當在兩個整數類型值中使用減法時,如有一個為 UNSIGNED類型,那麼結果也是無符號的。查看章節 6.3.5 Cast 函數。

TINYINT[(M)] [UNSIGNED] [ZEROFILL]
一個非常小的整數。有符號的范圍是 -128 到 127。無符號的范圍是 0 到 255。
BIT
BOOL
它們是 TINYINT(1) 的同義詞。
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 列的一些事情:

* 所有的算術運算均是用有符號的 BIGINT 或 DOUBLE 值來完成的,因此你不應該使用大於 9223372036854775807 (63 bits) 的無符號大整數,除了位函數之外!如果你這樣做了,結果中的某些大數字可能會出錯,因為將 BIGINT 轉換成 DOUBLE 時產生了捨入錯誤。MySQL 4.0 在下列情況下可以處理 BIGINT:
o 在一個 BIGINT 列中使用整數存儲一個大的無符號值。
o 在 MIN(big_int_column) 和 MAX(big_int_column)中。
o 當兩個操作數都是整數時使用操作符 (+、-、*、等)。
* 通常你可以在一個 BIGINT 列中以字符串方式存儲的一個精確的整數。在這種情況下,MySQL 將執行一個字符串到數字的轉換,包括無 intermediate 的雙精度表示法。
* 當兩個參數均是整數值時,“-”、“+”和 “*” 將使用 BIGINT 運算!這就意味著,如果兩個大整數的乘積(或函數的結果返回整數)的結果大於 9223372036854775807 時,你可能會得到意想不到的結果。

FLOAT(precision) [UNSIGNED] [ZEROFILL]
一個浮點型數字。precision 可以是 <=24 作為一個單精度的浮點數字和介於 25 和 53 之間作為一個雙精度的浮點數字。這些類型與下面描述的 FLOAT 和 DOUBLE 類型相似。 FLOAT(X) 有與相應的 FLOAT 和 DOUBLE 類型同樣的范圍,但是顯示尺寸和十進制小數位數是未定義的。在 MySQL 3.23 中,它是一個真實的浮點值。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved