MySQL是一種關(guān)系型數(shù)據(jù)庫管理系統(tǒng),支持多種數(shù)據(jù)類型,包括整數(shù)、浮點(diǎn)數(shù)、字符、日期等。其中,MySQL中的字母加數(shù)字類型主要有兩種:VARCHAR和CHAR。
VARCHAR: VARCHAR是一種可變長(zhǎng)度的字符類型。在創(chuàng)建表時(shí),需要指定該列可以存儲(chǔ)的最大字符數(shù)。例如,VARCHAR(10)表示該列最多可以存儲(chǔ)10個(gè)字符。當(dāng)向該列中插入數(shù)據(jù)時(shí),MySQL會(huì)根據(jù)實(shí)際插入的內(nèi)容來動(dòng)態(tài)分配存儲(chǔ)空間,可以節(jié)省存儲(chǔ)空間。但是,由于需要?jiǎng)討B(tài)分配存儲(chǔ)空間,VARCHAR類型相對(duì)于CHAR類型來說,讀寫數(shù)據(jù)的速度會(huì)稍慢一些。 CHAR: CHAR是一種固定長(zhǎng)度的字符類型。在創(chuàng)建表時(shí),需要指定該列需要占用的固定字符數(shù)。例如,CHAR(10)表示該列會(huì)占用10個(gè)字符的存儲(chǔ)空間。當(dāng)向該列中插入數(shù)據(jù)時(shí),MySQL會(huì)自動(dòng)在輸入的內(nèi)容后面加上空格以占滿固定長(zhǎng)度,如果輸入內(nèi)容不足,則會(huì)用空格填充。由于CHAR類型是固定長(zhǎng)度的,因此讀寫速度相對(duì)于VARCHAR類型來說較快。但是,在存儲(chǔ)時(shí),可能會(huì)浪費(fèi)存儲(chǔ)空間,因?yàn)槿绻摿写鎯?chǔ)的數(shù)據(jù)長(zhǎng)度小于定義的固定長(zhǎng)度,就會(huì)浪費(fèi)存儲(chǔ)空間。
從上述介紹來看,VARCHAR類型適合存儲(chǔ)變長(zhǎng)的字符串類型數(shù)據(jù),例如郵箱地址、網(wǎng)站鏈接等。而CHAR類型則適合存儲(chǔ)固定長(zhǎng)度的字符串類型數(shù)據(jù),例如手機(jī)號(hào)碼、郵政編碼等。
上一篇css背景一張圖定位
下一篇mysql 最終一致性