char(20) 和 varchar(20) 的区别?
int(20) 表示字段是int 类型,显示长度是20
char(20) 表示字段是固定长度字符串,长度为20
varchar(20) 表示字段是可变长度字符串,长度为20
char 是存储字符(无论是字母还是汉字都最多存255个)
char(20) 表示这个字段最多存20个字符
如果存了16个字符 那么也会占用20个字符的空间
varchar是存储字节(一个字母一个字节,一个汉字3个字节)
varchar(20)表示这个字段最多存60个字节的内容
如果只存了16个字节,那么只占用16个字节的空间
区别1
char 因为长度固定,char的存取速度还是要比varchar要快得多,方便程序的存储和查找。
区别2
存储的容量不同
对 char 来说,最多能存放的字符个数 255,和编码无关。
而 varchar 呢,最多能存放 65532 个字符。varchar的最大有效长度由最大行大小和使用的字符集确定。整体最大长度是 65,532字节。

浙公网安备 33010602011771号