類型 | 長度 | 范圍(非空) | 范圍(可空) | 用途 | |
---|---|---|---|---|---|
char | 固定 | 255【字節(jié)】 | 65533【字節(jié)】 | ||
varchar | 可變 | 254【字節(jié)】 | 65532【字節(jié)】 |
以下是MySQL官方說明:
CHAR和VARCHAR類型類似滔以,但它們保存和檢索的方式不同。它們的最大長度和是否尾部空格被保留等方面也不同氓拼。在存儲(chǔ)或檢索過程中不進(jìn)行大小寫轉(zhuǎn)換你画。
CHAR列的長度固定為創(chuàng)建表時(shí)聲明的長度。長度可以為從0到255的任何值桃漾。當(dāng)保存CHAR值時(shí)坏匪,在它們的右邊填充空格以達(dá)到指定的長度。當(dāng)檢索到CHAR值時(shí)呈队,尾部的空格被刪除掉剥槐。在存儲(chǔ)或檢索過程中不進(jìn)行大小寫轉(zhuǎn)換。
VARCHAR列中的值為可變長字符串宪摧。長度可以指定為0到65,535之間的值粒竖。(VARCHAR的最大有效長度由最大行大小和使用的字符集確定。整體最大長度是65,532字節(jié))几于。
同CHAR對(duì)比蕊苗,VARCHAR值保存時(shí)只保存需要的字符數(shù),另加一個(gè)字節(jié)來記錄長度(如果列聲明的長度超過255沿彭,則使用兩個(gè)字節(jié))
以下是個(gè)人見解:
char 固定長度朽砰,所以在處理速度上要比varchar快速很多,但是對(duì)費(fèi)存儲(chǔ)空間喉刘,所以對(duì)存儲(chǔ)不大瞧柔,但在速度上有要求的可以使用char類型,反之可以用varchar類型來實(shí)例;
舉例說明所占存儲(chǔ)字節(jié)長度:
char(5) -->5個(gè)字節(jié)睦裳;varchar(5)-->6個(gè)字節(jié)長度小于4個(gè)字符的char數(shù)據(jù)列不會(huì)被轉(zhuǎn)換為varchar類型
希望對(duì)你有所幫助