表示時間值的日期和時間型別為datetime、date、timestamp、time和year。
每個時間型別有乙個有效值範圍和乙個"零"值,當指定不合法的mysql不能表示的值時使用"零"值。
timestamp型別有專有的自動更新特性,將在後面描述。
字串型別指char、varchar、binary、varbinary、blob、text、enum和set。該節描述了這些型別如何工作以及如何在查詢中使用這些型別。
char 和 varchar 型別類似,但它們儲存和檢索的方式不同。它們的最大長度和是否尾部空格被保留等方面也不同。在儲存或檢索過程中不進行大小寫轉換。
binary 和 varbinary 類似於 char 和 varchar,不同的是它們包含二進位制字串而不要非二進位制字串。也就是說,它們包含位元組字串而不是字元字串。這說明它們沒有字符集,並且排序和比較基於列值位元組的數值值。
blob 是乙個二進位製大物件,可以容納可變數量的資料。有 4 種 blob 型別:tinyblob、blob、mediumblob 和 longblob。它們區別在於可容納儲存範圍不同。
有 4 種 text 型別:tinytext、text、mediumtext 和 longtext。對應的這 4 種 blob 型別,可儲存的最大長度不同,可根據實際情況選擇。
字串型別指char、varchar、binary、varbinary、blob、text、enum和set。
char和varchar型別宣告的長度表示你想要儲存的最大字元數。例如,char(30)可以占用30個字元。預設長度都為255。
char列的長度固定為建立表時宣告的長度。長度可以為從0到255的任何值。當儲存char值時,在它們的右邊填充空格以達到指定的長度。當檢索到char值時,尾部的空格被刪除掉,所以,我們在儲存時字串右邊不能有空格,即使有,查詢出來後也會被刪除。在儲存或檢索過程中不進行大小寫轉換。
所以當char型別的字段為唯一值時,新增的值是否已經存在以不包含末尾空格(可能有多個空格)的值確定,比較時會在末尾補滿空格後與現已存在的值比較。
varchar列中的值為可變長字串。長度可以指定為0到65,535之間的值(實際可指定的最大長度與編碼和其他字段有關,比如,本人mysql使用utf-8編碼格式,大小為標準格式大小的2倍,僅有乙個varchar欄位時實測最大值僅21844,如果新增乙個char(3),則最大取值減少3。整體最大長度是65,532位元組)。
同char對比,varchar值儲存時只儲存需要的字元數,另加乙個位元組來記錄長度(如果列宣告的長度超過255,則使用兩個位元組)。
varchar值儲存時不進行填充。當值儲存和檢索時尾部的空格仍保留,符合標準sql。
如果分配給char或varchar列的值超過列的最大長度,則對值進行裁剪以使其適合。如果被裁掉的字元不是空格,則會產生一條警告。如果裁剪非空格字元,則會造成錯誤(而不是警告)並通過使用嚴格sql模式禁用值的插入。
下面顯示了將各種字串值儲存到char(4)和varchar(4)列後的結果:
盜版必究,謝謝合作
mysql資料型別用法 mysql資料型別和用法
歡迎進入linux社群論壇,與200萬技術人員互動交流 進入 mysql支援多種列型別 數值型別 日期 時間型別和字串 字元 型別。本章首先對這些列型別進行了概述,然後更加詳細地描述了各種列的型別,以及列型別儲存需求的總結。概述很簡單。關於具體列型別 歡迎進入linux社群論壇,與200萬技術人員互...
mysql 資料型別 真假 MySQL 資料型別
mysql基礎 資料型別 整型型別 根據所儲存的整數數值取值範圍不同,可分為以下五類 1 tinyint佔1個位元組 2 smallint佔2個位元組 3 mediumint 佔3個位元組 4 int佔4個位元組 5 bigint佔8個位元組 根據每種型別所佔的位元組數可確定其無符號整數和有符號整數...
mysql 郵箱 資料型別 mysql 資料型別
1 整型mysql資料型別含義 有符號 tinyint m 1個位元組 範圍 128 127 smallint m 2個位元組 範圍 32768 32767 mediumint m 3個位元組 範圍 8388608 8388607 int m 4個位元組 範圍 2147483648 21474836...