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

Tìm kiếm chuỗi trong cột TEXT trong MySQL?

Sử dụng toán tử LIKE với ký tự đại diện % (khớp 0 hoặc nhiều ký tự).

Cú pháp:

SELECT * FROM ten_bang WHERE ten_cot LIKE '%chuoi_tim_kiem%';

Ví dụ bảng sách:

CREATE TABLE SearchTextDemo (BookName TEXT);
INSERT INTO SearchTextDemo VALUES
('Let us C'), ('C in Depth'), ('C in Depth with Data Structure'),
('Introduction to Java'), ('Java in Depth');

Tìm sách có chứa "in Depth":

SELECT * FROM SearchTextDemo WHERE BookName LIKE '%in Depth%';

Kết quả

+--------------------------------+
| BookName                       |
+--------------------------------+
| C in Depth                     |
| C in Depth with Data Structure |
| Java in Depth                  |
+--------------------------------+

Ký tự đại diện:

  • % - 0 hoặc nhiều ký tự bất kỳ
  • _ - chính xác 1 ký tự bất kỳ

Hiệu năng: LIKE '%...%' (bắt đầu bằng %) không dùng được index → full table scan. Với dữ liệu lớn, dùng Full-Text Search (FULLTEXT INDEX + MATCH() AGAINST()).