區別:1、char字段的最大長度為255字符,varchar字段的最大長度為65535個位元組;2、char類型在空間使用上會有浪費,而varchar類型在空間使用上比較節省;3、char類型的查找效率高,varchar類型的查找效率比較低。
本教學操作環境:windows7系統、mysql8版本、Dell G3電腦。
char和varchar區別
行為 |
char 欄位 |
varchar 欄位 |
---|---|---|
#最大長度 | 255字元 | 65535個位元組,所以括號中最大的字元數還得透過編碼來算 |
#是否定長 | 定長,不足的部分用隱藏空格填充 | 不定長 |
空間使用 | 會有浪費 | #更節省 |
尋找效率 | 高 | 低 |
當尾部空格 | 插入時省略 | 插入時不會省略,查找時省略 |
like查找 | 語句中like後的' '不會省 | 語句中like後的' '不會省,欄位結尾的空格也不會省 |
總結
char(n)
中的n是字元數,範圍是0~255(額外需要1到2個位元組來存長度)
varchar(n)
中的n也是字元數,但是最大值需要透過編碼來算,不能超過65535位元組(從中還需要拿出1到2個位元組來存長度)
一般定長的資料選用char類型,例如身分證號,手機號,電話等,長度變化很大的可以使用varchar類型
注意尾部空格的匹配,特別是插入時和使用like查找時
【相關推薦:mysql影片教學】
以上是mysql中char和varchar的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!