MySQL VARCHAR size?

前端 未结 3 944
傲寒
傲寒 2020-12-14 05:23

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?

相关标签:
3条回答
  • 2020-12-14 05:59

    Actually, it will takes 101 bytes.

    MySQL Reference

    0 讨论(0)
  • 2020-12-14 06:13

    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

    0 讨论(0)
  • 2020-12-14 06:16

    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"

    0 讨论(0)
提交回复
热议问题