varchar
和 char
- varchar(4)和char(4)都表示只能存4个字节,中文或英文都是四个。
- char是定长,varchar是可变长度。比如如果char类型存’ab’,实际占用也是4个字节;varchar类型存‘ab’,实际占用是2个字节;所以varchar在存储空间占用角度更合理一些,char的查询效率会比varchar高;如果业务要求字段就是定长的,用char更合理,否则使用varchar
- char在查询的时候会去除空格,varchar会原样输出空格
int
int(4)
后面的4不代表只能存4位的数字,只代表在填充零的情况下显示几位而已,比如1
会在填充零的情况下显示0004
, 如果没有设置填充零,该长度没有任何影响,真正影响存储范围的是类型。
- 如果业务上确定字段就是正数,设置字段未
unsigned(无符号)
可以加大正数范围