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

Sử dụng wildcard cho tên cột trong MySQL

Tóm tắt

Truy vấn INFORMATION_SCHEMA.COLUMNS với toán tử LIKE để lọc tên cột theo mẫu (wildcard).

Cú pháp

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'ten_bang'
  AND COLUMN_NAME LIKE 'prefix%';

Ví dụ

1. Tạo bảng có nhiều cột bắt đầu bằng "Product"

CREATE TABLE WildcardDemo (
    ProductId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ProductName VARCHAR(10),
    ShippingDateTime DATETIME,
    ProductPrice INT
);

2. Lọc cột bắt đầu bằng "product" (không phân biệt chữ hoa/thường)

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'WildcardDemo'
  AND COLUMN_NAME LIKE 'product%';

3. Kết quả

+--------------+
| COLUMN_NAME  |
+--------------+
| ProductId    |
| ProductName  |
| ProductPrice |
+--------------+

Mở rộng

  • LIKE '%suffix': kết thúc bằng suffix.
  • LIKE '%middle%': chứa middle ở giữa.
  • LIKE '_ingle': ký tự đơn (underscore) khớp 1 ký tự bất kỳ.
  • Kết hợp TABLE_SCHEMA để lọc theo database.

Ứng dụng

  • Tự động sinh code (DAO, DTO, entity).
  • Tìm cột để dynamic query, audit, migration.
  • Kiểm tra naming convention.