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

Cập nhật bảng MySQL dùng biểu thức chính quy (REGEXP) cho cột chứa chữ, số, ký tự đặc biệt

Giới thiệu

Toán tử REGEXP trong MySQL cho phép lọc hàng dựa trên khớp mẫu (pattern matching) với biểu thức chính quy. Kết hợp với UPDATE để sửa đổi dữ liệu phức tạp.

Ví dụ minh họa: Thêm tiền tố 'Street' cho các số nhà đơn giản (1-2 chữ số)

Bước 1: Tạo bảng và chèn dữ liệu

CREATE TABLE DemoTable2023 (StreetNumber VARCHAR(100));
INSERT INTO DemoTable2023 VALUES ('7'), ('1'), ('AUS-100'), ('US-101');

Bước 2: Cập nhật các hàng mà StreetNumber chỉ chứa 1-2 chữ số (^[0-9]{1,2}$)

UPDATE DemoTable2023
SET StreetNumber = CONCAT('Street', StreetNumber)
WHERE StreetNumber REGEXP '^[0-9]{1,2}$';

Bước 3: Kết quả

SELECT * FROM DemoTable2023;
+--------------+
| StreetNumber |
+--------------+
| Street7      |
| Street1      |
| AUS-100      |
| US-101       |
+--------------+

Giải thích Regex:

  • ^: Bắt đầu chuỗi.
  • [0-9]{1,2}: 1 đến 2 chữ số.
  • $: Kết thúc chuỗi.

Chỉ '7' và '1' khớp mẫu, nên chỉ chúng được thêm tiền tố.