-
Notifications
You must be signed in to change notification settings - Fork 1.3k
varchar 和 char 的区别和使用场景
cxuan edited this page Jun 22, 2020
·
1 revision
MySQL 中没有 nvarchar 数据类型,所以直接比较的是 varchar 和 char 的区别
char
:表示的是定长
的字符串,当你输入小于指定的数目,比如你指定的数目是 char(6)
,当你输入小于 6 个字符的时候,char 会在你最后一个字符后面补空值。当你输入超过指定允许最大长度后,MySQL 会报错
varchar
: varchar 指的是长度为 n 个字节的可变长度,并且是非Unicode
的字符数据。n 的值是介于 1 - 8000 之间的数值。存储大小为实际大小。
Unicode 是一种字符编码方案,它为每种语言中的每个字符都设定了统一唯一的二进制编码,以实现跨语言、跨平台进行文本转换、处理的要求
使用 char 存储定长的数据非常方便、char 检索效率高,无论你存储的数据是否到了 10 个字节,都要去占用 10 字节的空间
使用 varchar 可以存储变长的数据,但存储效率没有 char 高。