MySQL cung cấp các phương thức mạnh mẽ để so khớp mẫu (pattern matching), trong đó phổ biến nhất là sử dụng LIKE với ký tự đại diện, như LIKE ‘%…%’ để tìm kiếm chuỗi ký tự. Ngoài ra, MySQL còn hỗ trợ so khớp mẫu nâng cao hơn thông qua Regular Expression (biểu thức chính quy) và toán tử REGEXP.
Nếu bạn đã quen thuộc với các ngôn ngữ lập trình như PHP hoặc Perl, việc sử dụng Regular Expression trong MySQL sẽ khá dễ dàng vì cú pháp và cách thức hoạt động của nó rất tương tự với các ngôn ngữ này.
Bảng liệt kê các Pattern được sử dụng với toán tử REGEXP
Pattern
So khớp với
^
Phần đầu của chuỗi
$
Phần cuối của chuỗi
.
Bất kỳ ký tự đơn nào
[…]
Bất kỳ ký tự nào được liệt kê trong dấu ngoặc vuông
[^…]
Bất kỳ ký tự nào không được liệt kê trong dấu ngoặc vuông
s1|s2|s3
Bất kỳ mẫu s1, s2 hoặc s3
*
0 hoặc nhiều instance (sự thể hiện) của phần tử ở trước
+
1 hoặc nhiều instance (sự thể hiện) của phần tử ở trước
{n}
n instance (sự thể hiện) của phần tử ở trước
{m,n}
Từ m tới n instance (sự thể hiện) của phần tử ở trước
Dựa trên bảng dữ liệu, bạn có thể tạo ra nhiều kiểu truy vấn SQL đa dạng tùy theo yêu cầu cụ thể của mình. Dưới đây là một số truy vấn cơ bản và cần thiết nhất. Giả sử chúng ta có một bảng tên là wp_posts với một trường post_title, bạn có thể thực hiện các truy vấn như sau:
Truy vấn để tìm tất cả trường post_title bắt đầu với ‘^Sanh’:
SELECT post_title FROM wp_posts WHERE post_title REGEXP '^Sanh';
Truy vấn để tìm tất cả trường post_title kết thúc với ‘Sanh$’:
SELECT post_title FROM wp_posts WHERE post_title REGEXP 'Sanh$';
Truy vấn để tìm tất cả trường post_title chứa từ ‘Xinh’:
SELECT post_title FROM wp_posts WHERE post_title REGEXP 'Xinh';
Truy vấn để tìm tất cả ten bắt đầu với một nguyên âm và kết thúc với ‘ng’:
SELECT post_title FROM wp_posts WHERE post_title REGEXP '^[aeiou]|ng$';
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.