字符型數據主要是指離散的類別型數據,并且這些數據以字符串的形式呈現,如用戶的姓名、性別、汽車的型號、產品的名稱等。在MySQL數據庫中,關于常用的字符型數據可以參考表所示的內容。

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