MySQL 中的 BLOB 和 TEXT 数据类型有什么区别?
mysqlmysqli database
BLOB 代表二进制大对象,顾名思义,它可用于存储二进制数据,而 TEXT 用于存储大量字符串。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 impacted (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。