MySQL的VARCHAR大小?
我想知道,如果我有一个200字符的VARCHAR,并且我把一个100个字符的string,它会使用200个字节,或者它将只使用string的实际大小?
100个字符。
这是varchar
的var (variables):你只存储你input的内容(还有一个额外的2个字节来存储长度高达65535)
如果是char(200)
那么你总是会存储200个字符,填充100个空格
请参阅文档: “CHAR和VARCHARtypes”
VARCHAR意味着它是一个可变长度的字符,所以它只会占用尽可能多的空间。 但是,如果您知道底层结构的某些内容,则可以将VARCHAR限制在某个最大值。
例如,如果您要存储用户的注释,则可以将注释字段限制为只有4000个字符; 如果是这样,那么使sql表的字段大于VARCHAR(4000)并没有任何意义。
实际上,这将需要101个字节。
MySQL参考