character 就是char,
1.最大长度不同,char 最大254 bytes,varchar 最大 32672 bytes
2 存储不同
char(n) 在数据库占用 n 个字节,在数据库中以空格补足,但在取出来时末尾的空格将被去掉
varchar(n) 在数据库中至少占用1个字节,在数据库中末尾的空格将自动去掉,实际占用录入数据长度 +1 或者 +2 字节。
L 数据长度
L+1 bytes L <=M 0 <=M <=256
L+2 bytes L <=M 256 <M <=32672
1.最大长度不同,char 最大254 bytes,varchar 最大 32672 bytes
2 存储不同
char(n) 在数据库占用 n 个字节,在数据库中以空格补足,但在取出来时末尾的空格将被去掉
varchar(n) 在数据库中至少占用1个字节,在数据库中末尾的空格将自动去掉,实际占用录入数据长度 +1 或者 +2 字节。
L 数据长度
L+1 bytes L <=M 0 <=M <=256
L+2 bytes L <=M 256 <M <=32672
在数据库中末尾的空格将自动去掉
我的理解是字符长度如果长就用varchar,短就用character