MySQL: как найти все колонки в базе по названию
Иногда бывает нужно найти в базе все таблицы, в которых встречается колонка с определенным названием.
Есть несколько способов, как это сделать. К примеру:
SELECT TABLE_NAME, COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME LIKE '%columnName%';
Где columnName - название колонки.
Если убрать знак % - то будет искать по точному соответствию, если оставить - то по встречающейся в названиях подстроке.
Другой вариант, если названий несколько:
SELECT DISTINCT TABLE_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE COLUMN_NAME IN ('column1','column2')
AND TABLE_SCHEMA='databaseName';
- column1 и column2 - названия колонок,
- databaseName - название базы данных
Комментарии