char(M)占用空间固定,M[0,255]个字符,具体占用字节与编码相关
varchar(M[0,65535])占用空间不固定,因为首部占用1或2B来记录长度M+1(M<256),占用M+2(255<M<65536)
M<256
255<M<65536
在存储字符串到char中时,会填充空格至相应长度
取出char类型值时,若sql_mode没有设置PAD_CHAR_TO_FULL_LENGTH,则会去除尾部空格
sql_mode
PAD_CHAR_TO_FULL_LENGTH
所以导致插入带空格的字符串,取出时却不带有空格!
varchar会存储空格和保留空格,不会转换!