Sử dụng toán tử LIKE kết hợp CONCAT() để tìm các từ trong bảng xuất hiện trong một chuỗi văn bản cho trước.
Ví dụ minh họa
Tạo bảng chứa từ khóa:
mysql> CREATE TABLE DemoTable1316 (
Value VARCHAR(40)
);
Chèn từ khóa:
mysql> INSERT INTO DemoTable1316 VALUES('MySQL');
mysql> INSERT INTO DemoTable1316 VALUES('Java');
mysql> INSERT INTO DemoTable1316 VALUES('MongoDB');
mysql> INSERT INTO DemoTable1316 VALUES('C++');
Xem từ khóa:
mysql> SELECT * FROM DemoTable1316;
+---------+ | Value | +---------+ | MySQL | | Java | | MongoDB | | C++ | +---------+
Tìm từ khóa xuất hiện trong văn bản: "Deep Dive using Java is good for advanced knowledge, but not MySQL"
mysql> SELECT Value
FROM DemoTable1316
WHERE 'Deep Dive using Java is good for advanced knowledge, but not MySQL' LIKE CONCAT('%', Value, '%');
Kết quả:
+-------+ | Value | +-------+ | MySQL | | Java | +-------+
Giải thích: CONCAT('%', Value, '%') tạo mẫu tìm kiếm %Value%. Toán tử LIKE kiểm tra xem văn bản có chứa từ khóa không.
Lưu ý: Tìm kiếm không phân biệt chữ hoa/thường mặc định (collation _ci). Để phân biệt, dùng COLLATE utf8mb4_bin.