Liz*_*ard 36 mysql varchar char
我知道CHAR和VARCHAR之间的差异,
CHAR - 固定长度
VARCHAR - 可变长度(大小+ 1字节)
但是,我想知道是什么的具有一个varchar长度例如选项purpse VARCHAR(50),VARCHAR(100),VARCHAR(255)
这对我来说似乎没有意义,因为使用的实际空间取决于存储在数据库中的值.
所以我的问题是:
1)可以将我的所有varchar设置为255 2)为什么要指定任何其他长度?
Mar*_*rkD 21
1)如果你不想限制存储的varchar的最大大小,那么它是好的.话虽如此...
2)在许多情况下,您需要设置varchar大小的上限.假设您正在存储邮件列表,并且地址行的空间有限.通过设置地址字段的上限,您现在允许数据库为您强制执行最大地址行长度.
Jau*_*ika 19
摘自MySQL文档:
CHAR和VARCHAR类型类似,但它们的存储和检索方式不同.从MySQL 5.0.3开始,它们的最大长度和是否保留尾随空格也不同.
声明CHAR和VARCHAR类型的长度指示要存储的最大字符数.例如,CHAR(30)最多可以包含30个字符.
CHAR列的长度固定为您在创建表时声明的长度.长度可以是0到255之间的任何值.当存储CHAR值时,它们用空格填充到指定的长度.检索CHAR值时,将删除尾随空格.
VARCHAR列中的值是可变长度字符串.长度可以指定为MySQL 5.0.3之前的0到255之间的值,5.0.3及更高版本中的0到65,535之间的值.MySQL 5.0.3及更高版本中VARCHAR的有效最大长度受最大行大小(65,535字节,在所有列之间共享)和使用的字符集的限制.
与CHAR相比,VARCHAR值存储为一个字节或两个字节长度的前缀加数据.长度前缀表示值中的字节数.如果值不超过255个字节,则列使用一个长度字节;如果值可能需要超过255个字节,则列使用两个长度字节.
| 归档时间: |
|
| 查看次数: |
36961 次 |
| 最近记录: |