使用Text
MySQL提供四种TEXT类型:TINYTEXT,TEXT,MEDIUMTEXT和LONGTEXT。
下面显示每个TEXT类型的大小,假设我们使用一个字符集,该字符集需要1个字节来存储字符。
TINYTEXT - 1个字节(255个字符)
TINYTEXT可以存储的最大字符是255(2 ^ 8 = 256,1字节开销)。
需要少于255个字符的列应该使用TINYTEXT类型,长度不一致,不需要排序,例如:博文摘录,文章摘要等。
请参阅以下示例:
CREATE TABLE articles (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
summary TINYTEXT
);
在本示例中,我们创建了一个名为articles的新表,该表具有数据类型为TINYTEXT的summary列。
TEXT - 64KB(65,535个字符)
TEXT数据类型最多可容纳64KB,相当于65535(2 ^ 16 - 1)个字符。 TEXT还需要2字节开销。
文本可以容纳文章的正文。 请考虑以下示例:
ALTER TABLE articles
ADD COLUMN body TEXT NOT NULL
AFTER summary;
在本示例中,我们使用ALTER TABLE语句将具有TEXT数据类型的body列添加到articles表。
MEDIUMTEXT - 16MB(16,777,215个字符)
MEDIUMTEXT最多可容纳16MB的文本数据,相当于16,777,215个字符。它需要3字节开销。
MEDIUMTEXT可用于存储相当大的文本数据,如书籍文本,白皮书等。例如:
USE testdb;
CREATE TABLE whitepapers (
id INT AUTO_INCREMENT PRIMARY KEY,
body MEDIUMTEXT NOT NULL,
published_on DATE NOT NULL
);
LONGTEXT - 4GB(4,294,967,295个字符)
LONGTEXT可以存储高达4GB的文本数据,这是非常巨大的。 它需要4字节开销。