區別: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視頻教程】
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦