Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Khác biệt giữa kiểu dữ liệu BLOB và TEXT trong MySQL?


BLOB (Binary Large Objects) dùng để lưu trữ dữ liệu nhị phân như hình ảnh, video, âm thanh, chương trình. TEXT dùng để lưu trữ chuỗi ký tự lớn.

Đặc điểm BLOB

  • Giá trị BLOB hoạt động như chuỗi byte (byte string)
  • Không có bộ ký tự (character set)
  • So sánh và sắp xếp dựa trên giá trị số của các byte

Đặc điểm TEXT

  • Giá trị TEXT hoạt động như chuỗi ký tự không nhị phân (non-binary string)
  • Có bộ ký tự (character set)
  • So sánh và sắp xếp phụ thuộc vào collation của bộ ký tự

Ví dụ: Hình ảnh sau có thể lưu vào BLOB vì chứa dữ liệu nhị phân:

Khác biệt giữa kiểu dữ liệu BLOB và TEXT trong MySQL?

Tạo bảng với kiểu TEXT

mysql> CREATE TABLE TextTableDemo (
    -> Address TEXT
    -> );
Query OK, 0 rows affected (0.58 sec)
mysql> DESC TextTableDemo;
+---------+------+------+-----+---------+-------+
| Field   | Type | Null | Key | Default | Extra |
+---------+------+------+-----+---------+-------+
| Address | TEXT | YES  |     | NULL    |       |
+---------+------+------+-----+---------+-------+
1 row in set (0.08 sec)

Tạo bảng với kiểu BLOB

mysql> CREATE TABLE BlobTableDemo (
    -> Images BLOB
    -> );
Query OK, 0 rows affected (0.51 sec)
mysql> DESC BlobTableDemo;
+--------+------+------+-----+---------+-------+
| Field  | Type | Null | Key | Default | Extra |
+--------+------+------+-----+---------+-------+
| Images | BLOB | YES  |     | NULL    |       |
+--------+------+------+-----+---------+-------+
1 row in set (0.04 sec)