char
固定长度字符串,在定义时指定字符串列长。
char(M) M表示列长,M的范围是0-255个字符。
varchar
是长度可变的字符串。
varchar(M) M表示最大的列长度,M的长度范围是0-65535。
例如,varchar(50)定义了一个最长大小为50的字符串,如果插入的字符串只有10个字符,则实际存储的字符串为10个字符和一个字符串结束符。
example
create table test ( ch char(4) , vch varchar(4) );
insert into test values( 'ab ', 'ab ' );
可以看出 varchar 会保存字符串后的空格,而char 不会保存。