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

Cấu trúc dữ liệu MySQL để truy xuất dễ dàng với SET và FIND_IN_SET

Kiểu SET cho phép lưu nhiều giá trị từ danh sách định sẵn trong một cột, kết hợp FIND_IN_SET để truy vấn.

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

mysql> CREATE TABLE DemoTable (
    CountryName SET('US','UK','AUS')
); Query OK, 0 rows affected (0.49 sec)

Chèn dữ liệu:

mysql> INSERT INTO DemoTable VALUES('US'); Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES('UK');  Query OK, 1 row affected (0.09 sec)

Hiển thị dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả:

+-------------+
| CountryName |
+-------------+
| US          |
| UK          |
+-------------+
2 rows in set (0.00 sec)

Tìm hàng chứa 'UK':

mysql> SELECT * FROM DemoTable WHERE FIND_IN_SET('UK', CountryName) > 0;

Kết quả:

+-------------+
| CountryName |
+-------------+
| UK          |
+-------------+
1 row in set (0.00 sec)

Lưu ý: SET giới hạn tối đa 64 giá trị. Phù hợp cho dữ liệu ít thay đổi, không cần join phức tạp. Cần index? SET không hỗ trợ index trực tiếp.