MySQL 中 VARCHAR 和 CHAR 的区别

Preet Sanghavi 2022年5月13日
MySQL 中 VARCHAR 和 CHAR 的区别

本教程将介绍 MySQL 中 varcharchar 之间的区别。

每个部分的一些关键点如下。

CHAR

  • CHAR 是一种支持字符串的固定空间数据类型。
  • 文本或字符串中的空白或剩余空格用空格或空格替换。
  • CHAR 对输入字符串或文本中的每个字符采用一个字节大小。
  • 因此,我们可以说,如果我们定义 CHAR(100),无论字符串长度或字符数是多少,它将保持 100 位的大小。

VARCHAR(M)

  • VARCHAR 具有最多 65535 个字符的可编辑大小。用户必须指定 1 到 65535 个字符之间的长度。
  • 此外,VARCHAR 在字符总数小于或等于 255 的磁盘中占用 x + 1 字节空间。并且在字符总数小于或等于 255 的磁盘中占用 x + 2 字节空间 of characters 大于或等于 256 个字符且小于等于 65535 个字符。
  • 最后,VARCHAR 可以是索引的一部分。

因此,我们可以总结出关键的区别:varchar 不是固定长度,而 char 是固定长度或固定大小。

实际上,我们可以假设使用 varchar 比使用 char 数据类型更好。这种假设背后的原因是使用 varchar 数据类型可以节省大量空间。

让我们看一个例子来实现 varchar 的优势。

假设我们将一个 char 定义为 char(25) 并将字符串值存储为 Preet。另一方面,让我们定义另一列,其数据类型为 varchar,一个字符串值为 Preet

即使这些具有不同数据类型的列具有值 Preetvarchar 将仅消耗 5 位,而 char 将消耗整个 25 个预定义位大小。剩余的空白空间用 char 空白填充。

varchar 的这种优势在存储是一个大问题的生产环境中可能是巨大的。此外,如果我们使用 varchar,我们不需要担心我们的字符串大小超过预定义的位值。

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub