本附錄介紹MySQL提供的每種列類型。關於利用每種類型的詳細說明請參閱第2 章。除非另有說明,否則所列出的類型早在MySQL3.21.0 中就已經有了。
按下列約定給出類型名說明:
方括號( [ ]) 可選信息。
M 最大顯示寬度。除非另有說明,否則M 應該是一個1到255 之間的整數。
D 有小數部分的類型的小數位數。D 為一個0 到30 之間的整數。D 應該小於等於M - 2。否則,M 的值將調整為D + 2。
在ODBC 術語中,M 和D 稱為“精度”和“小數位數”。
為了描述每種類型,提供下列一個或多個信息:
說明該類型的簡短說明。
允許的屬性在CREATE TABLE 或ALTER TABLE 語句中與該類型相關的可選屬性關鍵字。屬性按字母順序列出,但這個順序並不一定與CREATE TABLE 或ALTE R TABLE 中使用的順序相對應。關於這些語句的語法請參閱附錄D。每種列類型在說明中列出的屬性為通用屬性之外的屬性。
允許的長度串類型的列值所允許的最大長度。
取值范圍對於數值或日期與時間類型,該類型可表示的值的范圍。對於整數數值類型,給出兩個取值范圍,因為整數列可以是有符號或無符號的,有符號或無符號的取值范圍是不同的。
零值 對於日期和時間類型,如果將非法值插入該列,則存入一個“零”值。
缺省值 類型說明中不明確給出D E FA U LT 屬性時的缺省值。
存儲需求 存儲該類型的值所需的字節數。對於有的類型,這個值是固字的。而這個值在有些類型中根據存放在列中的值的不同是可變的。
比較 對於串類型,比較是否是區分大小寫的。這對排序和索引有效,因為這些操作根據比較進行的。
同義詞 該類型名的同義詞。
注釋 關於該類型的一些雜項說明。
通用屬性 有的屬性對所有類型或對於幾乎所有類型都適用。它們列在這裡,而不是列在每種類型的說明中。可對任何類型指定NULL 或NOT NULL 屬性。還可對所有類型指定D E FA U LT default_value。
MYSQL數值類型
MySQL提供了整數和浮點數的數值類型。可根據所要表示的值的范圍選擇相應的類型。
對於整數類型,如果指定了AUTO_INCREMENT 屬性,則列必須為PRIMARY KEY 或UNIQUE 索引。將NULL 插入AUTO_INCREMENT 列將會插入一個大於該列中當前最大值的值。如果指定了UNSIGNED 屬性,則相應的整數類型不允許取負值。
如果指定了ZEROFILL 屬性,則用前導零填充數值類型值以達到列的顯示寬度。
1. TINYINT[(M)]
說明:非常小的整數
允許的屬性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范圍:-128 到127(-27 到27-1),或者如果為U N S I G N E D,則0 到2 5 5(0 到2 8-1)
缺省值:如果列可為NULL;則為NULL;如果列為NOT NULL,則為0
存儲需求:1字節
2. SMALLINT[(M)]
說明:小整數
允許的屬性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范圍:-32768 到3 27 6 7(-215 到215-1),或者如果為U N S I G N E D,則0 到6 5 5 3 5 (0 到216-1)
缺省值:如果列可為NULL;則為NULL;如果列為NOT NULL,則為0
存儲需求:2 字節
3. MEDIUMINT[(M)]
說明:中等大小的整數
允許的屬性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范圍:-8388608 到8 3 8 8 6 07(-22 3 到22 3-1),或者如果為U N S I G N E D,則0 到16 7 7 2 15(0 到22 4-1)
缺省值:如果列可為NULL,則為NULL;如果列為NOT NULL,則為0
存儲需求:4 字節
4. INT[(M)]
說明:標准大小的整數
允許的屬性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范圍:-2147483648 到2 14 7 4 8 3 6 4 7(-231到2 3 1-1),或者如果為U N S I G N E D,則0 到4 2 9 4 9 6 7 2 9 5(0 到2 3 2-1)
缺省值:如果列為NULL,則為NULL;如果列為NOT FULL,則為0
存儲需求:4 字節
同義詞:I N T E G E R [(M)]
5. BIGINT[(M)]
說明:大整數
允許的屬性:AUTO _ I N C R E M E N T, UNSIGNED, ZEROFILL
取值范圍:-9223372036854775808 到9 2 2 3 3 7 2 0 3 6 8 5 4 7 7 5 8 07(-263 到2 6 3-1),或者如果為U N S I G N E D,則0 到18 4 4 6 7 4 4 07 3 7 0 9 5 5 16 15(0 到26 4 -1)