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

Thiết lập và xem các tùy chọn SET khi tạo bảng MySQL

Kiểu SET cho phép lưu nhiều giá trị từ danh sách cho trước. Xem tùy chọn bằng DESC hoặc INFORMATION_SCHEMA.COLUMNS.

Tạo bảng với cột SET

mysql> CREATE TABLE DemoTable(
    Color SET('RED','GREEN','BLUE','YELLOW')
); 
Query OK, 0 rows affected (0.47 sec)

Cách 1: Xem bằng DESC

mysql> DESC DemoTable;
+-------+------------------------------------+------+-----+---------+-------+
| Field | Type                               | Null | Key | Default | Extra |
+-------+------------------------------------+------+-----+---------+-------+
| Color | set('RED','GREEN','BLUE','YELLOW') | YES  |     | NULL    |       |
+-------+------------------------------------+------+-----+---------+-------+

Cách 2: Xem qua INFORMATION_SCHEMA

mysql> SELECT COLUMN_TYPE FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_NAME = 'DemoTable' AND COLUMN_NAME = 'Color';
+------------------------------------+
| COLUMN_TYPE                        |
+------------------------------------+
| set('RED','GREEN','BLUE','YELLOW') |
+------------------------------------+

Đặc điểm SET:

  • Tối đa 64 giá trị trong danh sách
  • Lưu trữ dưới dạng bitmap (bitmask) - hiệu quả
  • Cho phép kết hợp nhiều giá trị: 'RED,GREEN'
  • Tự động loại bỏ trùng lặp và sắp xếp theo thứ tự định nghĩa

So sánh ENUM vs SET: ENUM = chọn 1 trong nhiều, SET = chọn 0 đến nhiều trong danh sách.