在mysql數(shù)據(jù)庫(kù)系統(tǒng)中,char和varchar是非常常見(jiàn)的,它們兩個(gè)也非常的相似,都是用來(lái)保存相對(duì)較短的字符串,如保存文章標(biāo)題、留言、email、用戶名等。二者的主要區(qū)別在于存儲(chǔ)方式:
char列長(zhǎng)度是創(chuàng)建表時(shí)聲明的長(zhǎng)度而且固定不變,長(zhǎng)度被限制在0到255之間。而varchar列中的值是可變長(zhǎng)度字符串,長(zhǎng)度也為0-255,在5.0.3之后長(zhǎng)度延長(zhǎng)到65535。
在查詢顯示數(shù)據(jù)的時(shí)候,char會(huì)刪除字符串尾部的空格(僅僅是尾部),而varchar則完全保留這些空格。這樣我們?cè)陲@示char類型字符串時(shí)就沒(méi)有必要trim掉尾部的空格了。