Sử dụng INFORMATION_SCHEMA.COLUMNS với COLUMN_NAME và LIKE để tìm cột cụ thể.
Truy vấn tìm cột chứa "StudentName" trong database "web"
mysql> SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
-> FROM INFORMATION_SCHEMA.COLUMNS
-> WHERE column_name LIKE '%StudentName%'
-> AND table_schema = 'web';
Kết quả - 19 bảng có cột StudentName
+-------------------+-------------+-----------+-------------+----------------+ | TABLE_NAME | COLUMN_NAME | DATA_TYPE | IS_NULLABLE | COLUMN_DEFAULT | +-------------------+-------------+-----------+-------------+----------------+ | demotable215 | StudentName | varchar | YES | NULL | | demotable221 | StudentName | varchar | YES | NULL | | ... | ... | ... | ... | ... | | DemoTable | StudentName | varchar | YES | NULL | | view_DemoTable | StudentName | varchar | YES | NULL | +-------------------+-------------+-----------+-------------+----------------+ 19 rows in set (0.07 sec)
Giải thích:
INFORMATION_SCHEMA.COLUMNS: View hệ thống chứa metadata của tất cả cột.table_schema: Tên database (schema).LIKE '%StudentName%': Tìm cột chứa chuỗi "StudentName" (khớp một phần).- Dùng
= 'StudentName'nếu cần khớp chính xác.
Các cột hữu ích khác trong INFORMATION_SCHEMA.COLUMNS: CHARACTER_MAXIMUM_LENGTH, NUMERIC_PRECISION, COLUMN_KEY (PRI, UNI, MUL), EXTRA (auto_increment), v.v.