MySQL VARCHAR size?

2019-01-22 17:08发布

I'm wondering, if I have a VARCHAR of 200 characters and that I put a string of 100 characters, will it use 200 bytes or it will just use the actual size of the string?

标签: mysql varchar
3条回答
叛逆
2楼-- · 2019-01-22 17:28

Actually, it will takes 101 bytes.

MySQL Reference

查看更多
女痞
3楼-- · 2019-01-22 17:33

VARCHAR means that it's a variable-length character, so it's only going to take as much space as is necessary. But if you knew something about the underlying structure, it may make sense to restrict VARCHAR to some maximum amount.

For instance, if you were storing comments from the user, you may limit the comment field to only 4000 characters; if so, it doesn't really make any sense to make the sql table have a field that's larger than VARCHAR(4000).

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

查看更多
再贱就再见
4楼-- · 2019-01-22 17:35

100 characters.

This is the var (variable) in varchar: you only store what you enter (and an extra 2 bytes to store length upto 65535)

If it was char(200) then you'd always store 200 characters, padded with 100 spaces

See the docs: "The CHAR and VARCHAR Types"

查看更多
登录 后发表回答