MySQL TEXT 数据类型
简介:在本教程中,您将学习如何使用MySQL TEXT在数据库表中存储文本数据。
MySQL TEXT 数据类型简介
除了CHAR
和VARCHAR
字符类型时,MySQL为我们提供了TEXT
具有更多的功能,其类型CHAR
和VARCHAR
不能覆盖。
TEXT
对于存储可能需要1个字节到4 GB的长格式文本字符串很有用。我们经常在新闻网站中找到用于存储文章正文的TEXT
数据类型,电子商务网站中的产品描述。
与CHAR
和不同VARCHAR
,当您使用TEXT
列的类型时,不必指定存储长度。此外,MySQL不会删除或垫的空间时检索或插入文本数据,如CHAR
和VARCHAR
。
注意:TEXT
数据不存储在数据库服务器的内存中,因此,当您查询TEXT
数据,MySQL不得不从它从盘面来看,这与比较慢得多阅读CHAR
和VARCHAR
。
MySQL的提供了四种TEXT
类型:TINYTEXT
,TEXT
,MEDIUMTEXT
,和LONGTEXT
。
下面显示了每种TEXT
类型的大小,假设我们使用的字符集占用1个字节来存储字符
TINYTEXT - 1个字节(255个字符)
TINYTEXT
可以存储的最大字符数为255(2 ^ 8 = 256,1字节开销)。
您应使用TINYTEXT
需要少于255个字符,长度不一致的列,并且不需要排序,例如博客文章的摘录,文章摘要等。
请参阅以下示例:
CREATE TABLE articles ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), summary TINYTEXT );在这个例子中,我们创建了一个 新表名为
articles
具有TINYTEXT
数据类型为的摘要列。
TEXT - 64KB(65,535个字符)
TEXT
数据类型可以容纳多达64 KB,其等效于65535(2 ^ 16 - 1)字符。TEXT
还需要2个字节的开销。
在TEXT
可容纳的物品的身体。请考虑以下示例:
ALTER TABLE articles ADD COLUMN body TEXT NOT NULL AFTER summary;在此示例中,我们使用
ALTER TABLE
语句将body
具有TEXT
数据类型的列添加到articles
表中。
MEDIUMTEXT - 16MB(16,777,215个字符)
MEDIUMTEXT
可容纳等同16,777,215 16MB字符的文本数据。它需要3个字节的开销。
MEDIUMTEXT
对于存储相当大的文本数据非常有用,例如书本,白皮书等。例如:
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
罐存储文本数据高达4 GB,这是很多。它需要4个字节的开销。
在本教程中,您学习了如何使用各种MySQL TEXT数据类型在数据库表中存储文本。