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.