MySQL中的BLOB和TEXT数据类型有什么区别?
BLOB代表Binary Large Objects,顾名思义,可以用于存储二进制数据,而TEXT用于存储大量字符串。BLOB可用于存储二进制数据,因此我们可以存储图片、视频、声音和程序等等。
例如,下面的图片可以存储到BLOB中,因为图像具有二进制数据。
BLOB值的行为类似于字节数组,BLOB没有字符集。因此,比较和排序完全依赖于字节的数值。
TEXT值的行为类似于非二进制字符串或字符串。TEXT具有字符集,比较/排序完全取决于字符集的集合。
阅读更多:MySQL 教程
使用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。