一架梯子,一头程序猿,仰望星空!
MYSQL基础面试题 > 内容正文

MySQL支持哪些文本数据类型?它们之间有什么区别?


问题简答

MySQL支持以下几种文本数据类型:
1、CHAR:定长字符串,长度固定,适合长度固定,但是又不是很长的数据,例如一些ID标识符。
2、VARCHAR:变长字符串,它只占用实际存储字符串所需的空间,最大长度为65535个字节。
3、TEXT:用于存储较长的文本数据,最大可以存储65535个字节。
4、MEDIUMTEXT:用于存储更长的文本数据,最大可以存储16777215个字节。
5、LONGTEXT:用于存储非常长的文本数据,最大可以存储4294967295个字节。

问题详解:

在MySQL中,UTF-8格式的varchar、text、mediumtext和longtext类型字段,存储的字符占用1-3个字节,汉字需要3个字节,可以根据定义字段的长度除于字符占用的字节数,通常都是存储汉字居多,除于3估算就行。

下面是各种字符类型建表的例子:

CREATE TABLE tizi365_table (
  char_col CHAR(10) NOT NULL,
  varchar_col VARCHAR(255) NOT NULL,
  text_col TEXT NOT NULL,
  mediumtext_col MEDIUMTEXT NOT NULL,
  longtext_col LONGTEXT NOT NULL
);