MySQL的VARCHAR大小?

我想知道,如果我有一个200字符的VARCHAR,并且我把一个100个字符的string,它会使用200个字节,或者它将只使用string的实际大小?

100个字符。

这是varcharvar (variables):你只存储你input的内容(还有一个额外的2个字节来存储长度高达65535)

如果是char(200)那么你总是会存储200个字符,填充100个空格

请参阅文档: “CHAR和VARCHARtypes”

VARCHAR意味着它是一个可变长度的字符,所以它只会占用尽可能多的空间。 但是,如果您知道底层结构的某些内容,则可以将VARCHAR限制在某个最大值。

例如,如果您要存储用户的注释,则可以将注释字段限制为只有4000个字符; 如果是这样,那么使sql表的字段大于VARCHAR(4000)并没有任何意义。

http://dev.mysql.com/doc/refman/5.0/en/char.html

实际上,这将需要101个字节。

MySQL参考