字符型數(shù)據(jù)主要是指離散的類別型數(shù)據(jù),并且這些數(shù)據(jù)以字符串的形式呈現(xiàn),如用戶的姓名、性別、汽車的型號、產(chǎn)品的名稱等。在MySQL數(shù)據(jù)庫中,關(guān)于常用的字符型數(shù)據(jù)可以參考表所示的內(nèi)容。

1)如果變量的數(shù)據(jù)類型為ENUM時,表示該變量所對應(yīng)的每一個觀測值最多可以在65,535個不同的值中選擇一個(例如每一個用戶的性別只能從男或女中挑選一個,類似于單選問題),并且這些數(shù)值必須提前通過ENUM類型指定,即(‘男','女')。關(guān)于該類型數(shù)據(jù)需要強調(diào)一點,如果枚舉值為字符型的1,2,3三種值,即ENUM(‘1','2','3'),則在篩選查詢時,必須使用字符型的1,2,3,千萬不要丟掉引號,否則查詢結(jié)果將會有誤。
2)如果變量的數(shù)據(jù)類型為SET時,表示該變量所對應(yīng)的每一個觀測值最多可以在65個不同的值中選擇多個(例如每一個用戶的興趣愛好可以從多個不同的值中挑選幾個,類似于多選問題),并且這些值需通過SET類型指定,即ENUM('籃球','足球','乒乓球','游泳','騎行')。
3)如果變量的數(shù)據(jù)類型為CHAR(n)或VARCHAR(n),表示該變量的每一個觀測值最多可以存儲n個長度的字符;如果實際長度超過指定長度,它們均會將超過的部分截斷。所不同的是,如果實際的字符長度小于指定的長度:對于前者CHAR(n)來說,會以空格填滿;而對于后者VARCHAR(n)來說,該是多少的長度就是多少的長度,并不會用空格補齊。需要強調(diào)的是,對于MySQL 5.0及以后的版本來說,類型中的n代表的是字符長度,而非字節(jié)個數(shù),所以每一個中文也是代表一個字符長度。