歡迎進入linux社群論壇,與200萬技術人員互動交流 >>進入 mysql支援多種列型別:數值型別、日期/時間型別和字串(字元)型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別
歡迎進入linux社群論壇,與200萬技術人員互動交流 >>進入
mysql支援多種列型別:數值型別、日期/時間型別和字串(字元)型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別的詳細資訊應查閱詳細的描述,例如指定值時允許使用的格式。
mysql支援處理空間資料的副檔名。
幾種列型別描述使用了下述慣例:
m:表示最大顯示寬度。最大有效顯示寬度是255.
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的乙個別名。
bit[(m)]
位欄位型別。m表示每個值的位數,範圍為從1到64.如果m被省略,預設為1.
tinyint[(m)] [unsigned] [zerofill]
很小的整數。帶符號的範圍是-128到127.無符號的範圍是0到255.
bool,boolean
是tinyint(1)的同義詞。zero值被視為假。非zero值視為真。
int[(m)] [unsigned] [zerofill]
普通大小的整數。帶符號的範圍是-2147483648到2147483647.無符號的範圍是0到4294967295.
bigint[(m)] [unsigned] [zerofill]
大整數。帶符號的範圍是-9223372036854775808到9223372036854775807.無符號的範圍是0到18446744073709551615.
作為sql標準的擴充套件,mysql也支援整數型別tinyint、mediumint和bigint.下面的表顯示了需要的每個整數型別的儲存和範圍。
型別位元組
最小值最大值
(帶符號的/無符號的)
(帶符號的/無符號的)
tinyint
-128
smallint
-32768
mediumint
-8388608
int-2147483648
bigint
-9223372036854775808
char和varchar型別
char和varchar型別類似,但它們儲存和檢索的方式不同。它們的最大長度和是否尾部空格被保留等方面也不同。在儲存或檢索過程中不進行大小寫轉換。
char和varchar型別宣告的長度表示你想要儲存的最大字元數。例如,char(30)可以占用30個字元。
char列的長度固定為建立表時宣告的長度。長度可以為從0到255的任何值。當儲存char值時,在它們的右邊填充空格以達到指定的長度。當檢索到char值時,尾部的空格被刪除掉。在儲存或檢索過程中不進行大小寫轉換。
varchar列中的值為可變長字串。長度可以指定為0到65,535之間的值。(varchar的最大有效長度由最大行大小和使用的字符集確定。整體最大長度是65,532位元組)。
同char對比,varchar值儲存時只儲存需要的字元數,另加乙個位元組來記錄長度(如果列宣告的長度超過255,則使用兩個位元組)。
varchar值儲存時不進行填充。當值儲存和檢索時尾部的空格仍保留,符合標準sql.
如果分配給char或varchar列的值超過列的最大長度,則對值進行裁剪以使其適合。如果被裁掉的字元不是空格,則會產生一條警告。如果裁剪非空格字元,則會造成錯誤(而不是警告)並通過使用嚴格sql模式禁用值的插入。參見5.3.2節,"sql伺服器模式".
[1] [2]
MySQL資料型別DECIMAL用法
mysqldecimal資料型別用於在資料庫中儲存精確的數值。我們經常將decimal資料型別用於保留準確精確度的列,例如會計系統中的貨幣資料。要定義資料型別為decimal的列,請使用以下語法 1 column namedecimal p,d 在上面的語法中 decimal p,d 表示列可以儲存...
MySQL資料型別DECIMAL用法
mysqldecimal資料型別用於在資料庫中儲存精確的數值。我們經常將decimal資料型別用於保留準確精確度的列,例如會計系統中的貨幣資料。要定義資料型別為decimal的列,請使用以下語法 column namedecimal p,d 在上面的語法中 decimal p,d 表示列可以儲存d位...
MySQL資料型別DECIMAL用法
mysqldecimal資料型別用於在資料庫中儲存精確的數值。我們經常將decimal資料型別用於保留準確精確度的列,例如會計系統中的貨幣資料。要定義資料型別為decimal的列,請使用以下語法 1 column namedecimal p,d 在上面的語法中 decimal p,d 表示列可以儲存...