MySQL 中 BLOB 和 TEXT 数据类型有哪些区别?


BLOB 代表二进制大对象,正如其名称所示,它可用于存储二进制数据,而 TEXT 用于存储大量字符串。BLOB 可用于存储二进制数据,这意味着我们还可以存储图片、视频、声音和程序。

例如,以下图像可以存储到 BLOB 中,因为该图像具有二进制数据。

BLOB

BLOB 值的行为像字节字符串,BLOB 没有字符集。因此,比较和排序完全依赖于字节的数字值。

TEXT 值的行为类似于非二进制字符串或字符字符串。TEXT 有一个字符集,比较/排序完全取决于字符集集合。

使用 TEXT 数据类型创建表

mysql> create table TextTableDemo
   -> (
   -> Address TEXT
   -> );
Query OK, 0 rows affected (0.58 sec)

借助 DESC 命令描述表。

mysql> DESC TextTableDemo;

以下是输出。

+---------+------+------+-----+---------+-------+
| Field   | Type | Null | Key | Default | Extra |
+---------+------+------+-----+---------+-------+
| Address | TEXT | YES  |     | NULL    |       |
+---------+------+------+-----+---------+-------+
1 row in set (0.08 sec)

在上述输出中,“Type”表示数据类型,即 TEXT。

使用 BLOB 类型创建表

mysql> create table BlobTableDemo
   -> (
   -> Images BLOB
   -> );
Query OK, 0 rows affected (0.51 sec)

让我们借助 DESC 命令获取表的描述。

mysql> desc BlobTableDemo;

以下是输出。

+--------+------+------+-----+---------+-------+
| Field  | Type | Null | Key | Default | Extra |
+--------+------+------+-----+---------+-------+
| Images | BLOB | YES  |     | NULL    |       |
+--------+------+------+-----+---------+-------+
1 row in set (0.04 sec)

在示例输出中,“Type”表示数据类型,即 BLOB。

更新于:30-Jul-2019

2 千多人次观看

开启你的 职业

通过完成课程获得认证

开始使用
广告