前言
在 MySQL中,BLOB 和TEXT数据类型都用于存储大量数据。BLOB的全称是BinaryLarge Object,所以他主要被设计出来是存储二进制数据的,而TEXT主要是用于存储文本数据。
text使用场景:
要存长文本,如文章、扩展信息等等,则通常使用TEXT。可以对数据进行字符集转换和排序等操作。
BLOB 使用场景:
要在数据库中存储二进制数据,比如图像、音频、视频等等,就可以把他们的二进制的对象存储到BLOB中。不会对存储的数据进行字符集转换,并且不支持排序。
BLOB 和 TEXT 类型都有不同的变种,分别支持不同的存储大小:
- TINYBLOB/TINYTEXT:存储最大长度为 255 字节
- BLOB/TEXT:存储最大长度为 65,535 字节(64 KB)
- MEDIUMBLOB/MEDIUMTEXT:存储最大长度为16,777,215 字节(16 MB)
- LONGBLOB/LONGTEXT:存储最大长度为 4,294,967,295 字节(4 GB
存储内容 | 字符集转换 | 排序 | 类型 | |
---|---|---|---|---|
blob | 二进制 | 不支持 | 不支持 | TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB |
text | 文本 | 支持 | 支持 | TINYTEXT、TEXT、MEDIUMTEXT、LONGTEXT |