字符型數(shù)據(jù)主要是指離散的類(lèi)別型數(shù)據(jù),并且這些數(shù)據(jù)以字符串的形式呈現(xiàn),如用戶的姓名、性別、汽車(chē)的型號(hào)、產(chǎn)品的名稱等。在MySQL數(shù)據(jù)庫(kù)中,關(guān)于常用的字符型數(shù)據(jù)可以參考表所示的內(nèi)容。
1)如果變量的數(shù)據(jù)類(lèi)型為ENUM時(shí),表示該變量所對(duì)應(yīng)的每一個(gè)觀測(cè)值最多可以在65,535個(gè)不同的值中選擇一個(gè)(例如每一個(gè)用戶的性別只能從男或女中挑選一個(gè),類(lèi)似于單選問(wèn)題),并且這些數(shù)值必須提前通過(guò)ENUM類(lèi)型指定,即(‘男','女')。關(guān)于該類(lèi)型數(shù)據(jù)需要強(qiáng)調(diào)一點(diǎn),如果枚舉值為字符型的1,2,3三種值,即ENUM(‘1','2','3'),則在篩選查詢時(shí),必須使用字符型的1,2,3,千萬(wàn)不要丟掉引號(hào),否則查詢結(jié)果將會(huì)有誤。
2)如果變量的數(shù)據(jù)類(lèi)型為SET時(shí),表示該變量所對(duì)應(yīng)的每一個(gè)觀測(cè)值最多可以在65個(gè)不同的值中選擇多個(gè)(例如每一個(gè)用戶的興趣愛(ài)好可以從多個(gè)不同的值中挑選幾個(gè),類(lèi)似于多選問(wèn)題),并且這些值需通過(guò)SET類(lèi)型指定,即ENUM('籃球','足球','乒乓球','游泳','騎行')。
3)如果變量的數(shù)據(jù)類(lèi)型為CHAR(n)或VARCHAR(n),表示該變量的每一個(gè)觀測(cè)值最多可以存儲(chǔ)n個(gè)長(zhǎng)度的字符;如果實(shí)際長(zhǎng)度超過(guò)指定長(zhǎng)度,它們均會(huì)將超過(guò)的部分截?cái)唷K煌氖牵绻麑?shí)際的字符長(zhǎng)度小于指定的長(zhǎng)度:對(duì)于前者CHAR(n)來(lái)說(shuō),會(huì)以空格填滿;而對(duì)于后者VARCHAR(n)來(lái)說(shuō),該是多少的長(zhǎng)度就是多少的長(zhǎng)度,并不會(huì)用空格補(bǔ)齊。需要強(qiáng)調(diào)的是,對(duì)于MySQL 5.0及以后的版本來(lái)說(shuō),類(lèi)型中的n代表的是字符長(zhǎng)度,而非字節(jié)個(gè)數(shù),所以每一個(gè)中文也是代表一個(gè)字符長(zhǎng)度。