Char和VarChar有啥区别[重复]

Posted

技术标签:

【中文标题】Char和VarChar有啥区别[重复]【英文标题】:What's the difference between Char And VarChar [duplicate]Char和VarChar有什么区别[重复] 【发布时间】:2015-12-12 06:13:10 【问题描述】:

处理一个简单的数据库。 我想知道什么时候应该使用这两种情况? 我知道您使用 char 表示字符,但是 varchar 呢?

【问题讨论】:

char = 固定长度。 varchar = 可变长度。 varchar 在用于确定记录长度的记录 (IIRC) 末尾附加一个或两个或更多字节。对于varchar(255),在处添加了一个额外的字节(因为 1 个字节可以容纳数字 0 - 255)。如果您的文本长度为 5 个字符,varchar 将分配 6 个字节来保存数据。如果存储值,例如 sha1 哈希的文本表示(二进制是更好的选择,但这是为了举例),那么 char(40) 适合这种情况,因为 varchar(40) 需要一个额外的字节。 【参考方案1】:

通常,在大多数情况下,您会希望选择 varchar 而不是 char。当您有不同长度的字符串时使用 Varchar,使其更安全,而 char 适用于相似长度。希望有帮助

【讨论】:

我自己喜欢 varchar(1) 除了节省空间之外,我不知道 VARCHAR(); 的任何好处;虽然它确实有一些缺点(至少在使用 MyISAM 存储引擎时)。

以上是关于Char和VarChar有啥区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章

char和varchar有啥区别

SQL中varchar和nvarchar有啥区别?

sql 中int nvarchar char VARchar 有啥区别

MySQL中的char与varchar详解

MySQL - Char 和 Varchar 之间的区别? [复制]

设计数据库表时要不要定义字段的长度?指定字段长度和不指定长度有啥区别?