MARIADB
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Biểu thức chính quy (Regular Expression) trong MariaDB

Ngoài việc so khớp mẫu thông qua mệnh đề LIKE, MariaDB còn cung cấp tính năng so khớp mẫu nâng cao với toán tử REGEXP (Regular Expression). Toán tử này cho phép thực hiện các thao tác so khớp mẫu trên chuỗi dựa trên một biểu thức mẫu được cung cấp.

test php

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Bắt đầu từ phiên bản MariaDB 10.0.5, MariaDB hỗ trợ Biểu thức Chính quy PCRE (Perl Compatible Regular Expressions), mở rộng khả năng so khớp mẫu với các tính năng như mẫu đệ quy, look-ahead assertions, và nhiều tính năng khác.

Cú pháp REGEXP trong MariaDB

Cú pháp cơ bản của toán tử REGEXP:

SELECT column 
FROM table_name 
WHERE column REGEXP '[MẪU]';

Toán tử REGEXP trả về:

Bài viết này được đăng tại [free tuts .net]

  • 1: Nếu chuỗi khớp với mẫu.
  • 0: Nếu chuỗi không khớp với mẫu.

Ngoài ra, có thể sử dụng toán tử phủ định dưới dạng NOT REGEXP. Để tăng tính tương thích, MariaDB cung cấp các từ đồng nghĩa:

  • RLIKE tương đương với REGEXP.
  • NOT RLIKE tương đương với NOT REGEXP.

Cách hoạt động của REGEXP

  • Mẫu cần so khớp có thể là:

    • Một chuỗi ký tự cố định.
    • Một cột trong bảng.
  • Với các chuỗi, MariaDB sử dụng cú pháp thoát ký tự theo ngôn ngữ C. Vì vậy, cần lặp lại dấu gạch chéo ngược (\) khi sử dụng chúng.

  • Mặc định, so khớp REGEXP không phân biệt chữ hoa chữ thường (trừ khi làm việc với chuỗi nhị phân - binary strings).

Các mẫu ký tự thường dùng trong REGEXP

STT Mẫu ký tự Mô tả
1 ^ So khớp với phần đầu của chuỗi.
2 $ So khớp với phần cuối của chuỗi.
3 . So khớp với một ký tự bất kỳ.
4 [...] So khớp với bất kỳ ký tự nào bên trong dấu ngoặc vuông.
5 [^...] So khớp với bất kỳ ký tự nào không nằm trong dấu ngoặc vuông.
6 `p1 p2
7 * So khớp 0 hoặc nhiều lần ký tự hoặc mẫu liền trước đó.
8 + So khớp 1 hoặc nhiều lần ký tự hoặc mẫu liền trước đó.
9 {n} So khớp chính xác n lần ký tự hoặc mẫu liền trước đó.
10 {m,n} So khớp từ m đến n lần ký tự hoặc mẫu liền trước đó.

Ví dụ sử dụng REGEXP trong MariaDB

Các sản phẩm bắt đầu bằng “pr”:

SELECT name 
FROM product_tbl 
WHERE name REGEXP '^pr';

Các sản phẩm kết thúc bằng “na”:

SELECT name 
FROM product_tbl 
WHERE name REGEXP 'na$';

Các sản phẩm bắt đầu bằng nguyên âm:

SELECT name 
FROM product_tbl 
WHERE name REGEXP '^[aeiou]';

Kết bài

Biểu thức chính quy (REGEXP) trong MariaDB là công cụ mạnh mẽ để so khớp và lọc dữ liệu dựa trên các mẫu phức tạp. Việc sử dụng REGEXP mang lại sự linh hoạt vượt trội so với các phương pháp so khớp đơn giản như LIKE, đặc biệt khi xử lý các mẫu đòi hỏi cấu trúc hoặc mẫu ký tự cụ thể. Đây là công cụ không thể thiếu khi bạn cần thao tác dữ liệu nâng cao trong các ứng dụng và hệ thống cơ sở dữ liệu.

Cùng chuyên mục:

Giao dịch (Transactions) trong MariaDB

Giao dịch (Transactions) trong MariaDB

Giá trị NULL trong MariaDB

Giá trị NULL trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề JOIN trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề ORDER BY trong MariaDB

Mệnh đề LIKE trong MariaDB

Mệnh đề LIKE trong MariaDB

Tìm hiểu lệnh DELETE trong MariaDB

Tìm hiểu lệnh DELETE trong MariaDB

Tìm hiểu câu lệnh UPDATE trong MariaDB

Tìm hiểu câu lệnh UPDATE trong MariaDB

Mệnh đề WHERE trong MariaDB

Mệnh đề WHERE trong MariaDB

Câu lệnh SELECT (Select Query) trong MariaDB

Câu lệnh SELECT (Select Query) trong MariaDB

Lệnh chèn dữ liệu (Insert Query) trong MariaDB

Lệnh chèn dữ liệu (Insert Query) trong MariaDB

Tìm hiểu xóa bảng trong MariaDB

Tìm hiểu xóa bảng trong MariaDB

Tạo bảng (Create Tables) trong MariaDB

Tạo bảng (Create Tables) trong MariaDB

Các loại dữ liệu (Data Types) trong MariaDB

Các loại dữ liệu (Data Types) trong MariaDB

Select Database trong MariaDB

Select Database trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Xóa cơ sở dữ liệu trong MariaDB

Tạo cơ sở dữ liệu trong MariaDB

Tạo cơ sở dữ liệu trong MariaDB

Cách kết nối trong MariaDB

Cách kết nối trong MariaDB

Cú pháp PHP trong  MariaDB

Cú pháp PHP trong MariaDB

Hướng dẫn chi tiết quản trị MariaDB

Hướng dẫn chi tiết quản trị MariaDB

Hướng dẫn cài đặt MariaDB

Hướng dẫn cài đặt MariaDB

Top