MySQL - Operator LIKE: Hướng dẫn thân thiện cho người mới bắt đầu

Xin chào các nhà pháp sư cơ sở dữ liệu tương lai! Tôi rất vui mừng được làm hướng dẫn viên của bạn trong hành trình đầy.exciting này vào thế giới của MySQL và toán tử LIKE. Là người đã dạy khoa học máy tính trong nhiều năm, tôi có thể đảm bảo với bạn rằng việc thành thạo khái niệm này sẽ mở ra một thế giới mới đầy possibilities trong các cuộc phiêu lưu truy vấn cơ sở dữ liệu của bạn. Vậy, chúng ta cùng nhảy vào nào!

MySQL - Like Operator

什么是 LIKE Toán tử?

Hãy tưởng tượng bạn đang cố gắng tìm một cuốn sách trong một thư viện khổng lồ, nhưng bạn chỉ nhớ một phần của tựa đề. Nếu bạn có thể tìm kiếm các cuốn sách có tựa đề tương tự, điều đó có phải là tuyệt vời không? Đó chính xác là điều mà toán tử LIKE làm cho các truy vấn cơ sở dữ liệu của bạn!

Toán tử LIKE là một công cụ mạnh mẽ trong MySQL cho phép bạn tìm kiếm một mẫu cụ thể trong một cột. Nó giống như có một trợ lý siêu thông minh có thể tìm dữ liệu dựa trên thông tin không đầy đủ.

Cú pháp cơ bản

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

Đừng lo lắng nếu điều này trông có vẻ đáng sợ lúc đầu. Chúng ta sẽ phân tích nó từng bước, và sớm bạn sẽ viết các truy vấn này trong giấc ngủ!

Sử dụng toán tử LIKE với ký tự đại diện

Bây giờ, hãy nói về các ký tự đại diện. Đây là các ký tự đặc biệt có thể đại diện cho bất kỳ ký tự khác trong một chuỗi. Hãy tưởng tượng chúng như những Joker trong bộ bài - chúng có thể thay thế bất kỳ điều gì!

Ký tự đại diện %

Ký tự đại diện % đại diện cho không, một hoặc nhiều ký tự. Nó giống như một linh hồn thân thiện có thể kéo dài hoặc thu nhỏ để phù hợp với bất kỳ không gian nào trong mẫu tìm kiếm của bạn.

Hãy xem một ví dụ. Giả sử chúng ta có một bảng叫做 books với cột title:

SELECT * FROM books WHERE title LIKE 'Harry%';

Truy vấn này sẽ trả về tất cả các cuốn sách mà tựa đề bắt đầu với "Harry". Nó có thể khớp với "Harry Potter", "Harry's Adventures", hoặc thậm chí chỉ là "Harry".

Ký tự đại diện _

Ký tự đại diện _ đại diện cho một ký tự duy nhất. Nó giống như một placeholder cho chỉ một ký tự hoặc số.

SELECT * FROM books WHERE title LIKE 'Harry Potter_';

Truy vấn này có thể trả về "Harry Potter1", "Harry PotterA", nhưng không phải "Harry Potter and the Sorcerer's Stone" (vì đó là hơn một ký tự sau "Potter").

Sử dụng toán tử LIKE với các toán tử AND/OR

Đôi khi, một điều kiện không đủ. Đó là lúc các toán tử AND và OR phát huy tác dụng. Chúng giống như đôi siêu anh hùng của truy vấn cơ sở dữ liệu!

Toán tử AND

Toán tử AND cho phép bạn kết hợp nhiều điều kiện. Nó giống như nói, "Tôi muốn cái này VÀ cái kia."

SELECT * FROM books
WHERE title LIKE 'Harry%'
AND author LIKE 'J.K.%';

Truy vấn này sẽ tìm thấy tất cả các cuốn sách có tựa đề bắt đầu với "Harry" và tác giả bắt đầu với "J.K.".

Toán tử OR

Toán tử OR được sử dụng khi bạn muốn khớp một điều kiện hoặc另一个 điều kiện. Nó giống như nói, "Tôi sẽ lấy cái này HOẶC cái kia."

SELECT * FROM books
WHERE title LIKE '%Magic%'
OR title LIKE '%Wizard%';

Truy vấn này sẽ tìm thấy các cuốn sách có "Magic" hoặc "Wizard" ở bất kỳ đâu trong tựa đề.

Sử dụng toán tử NOT với toán tử LIKE

Đôi khi, việc xác định những gì bạn không muốn dễ dàng hơn. Đó là lúc toán tử NOT phát huy tác dụng. Nó giống như nói với cơ sở dữ liệu của bạn, "Hiển thị tất cả ngoại trừ..."

SELECT * FROM books
WHERE title NOT LIKE '%vampire%';

Truy vấn này sẽ trả về tất cả các cuốn sách mà tựa đề không chứa từ "vampire".

Chương trình Client: Kết hợp tất cả

Bây giờ chúng ta đã học được tất cả những kỹ thuật tuyệt vời này, hãy xem chúng ta có thể sử dụng chúng trong một tình huống thực tế như thế nào. Hãy tưởng tượng bạn đang xây dựng một hệ thống gợi ý sách cho thư viện.

SELECT title, author, publication_year
FROM books
WHERE
(title LIKE '%adventure%' OR description LIKE '%journey%')
AND publication_year > 2000
AND author NOT LIKE 'John%'
ORDER BY publication_year DESC
LIMIT 10;

Truy vấn này làm nhiều điều:

  1. Nó tìm kiếm các cuốn sách có "adventure" trong tựa đề hoặc "journey" trong mô tả.
  2. Nó chỉ xem xét các cuốn sách được xuất bản sau năm 2000.
  3. Nó loại trừ các tác giả whose tên bắt đầu với "John".
  4. Nó sắp xếp kết quả theo năm xuất bản (mới nhất trước).
  5. Nó giới hạn kết quả trong 10 cuốn sách.

Giải thích kết quả

Hãy phân tích những gì truy vấn này có thể trả về:

Title Author Publication Year
Epic Space Adventure Sarah Smith 2022
The Magical Journey Alice Brown 2021
Underwater Adventures Mike Johnson 2019
... ... ...

Mỗi hàng đại diện cho một cuốn sách phù hợp với tiêu chí của chúng ta. Toán tử LIKE giúp chúng ta tìm thấy các tựa đề và mô tả liên quan, trong khi các điều kiện khác làm sắc nét tìm kiếm để nhận được các gợi ý phù hợp nhất.

Kết luận

Và thế là bạn đã bắt đầu một cuộc phiêu lưu qua thế giới của toán tử LIKE trong MySQL. Nhớ rằng, thực hành làm nên hoàn hảo, vì vậy đừng ngại thử nghiệm với các sự kết hợp khác nhau của các toán tử này.

Hãy nghĩ mỗi truy vấn như một mini-puzzle. Càng chơi nhiều, bạn sẽ càng thành thạo hơn trong việc tạo ra tìm kiếm hoàn hảo. Trước khi bạn biết, bạn sẽ trở thành Sherlock Holmes của các侦探 cơ sở dữ liệu, có thể tìm thấy bất kỳ mảnh thông tin nào ẩn giấu trong bảng của bạn!

Tiếp tục khám phá, tiếp tục truy vấn, và quan trọng nhất, tiếp tục vui vẻ với cơ sở dữ liệu. Chúng không chỉ là các hàng và cột - chúng là kho báu của kiến thức chờ đợi được khám phá. Chúc bạn may mắn trong việc lập mã!

Credits: Image by storyset