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 - название базы данных

Комментарии

Комментариев пока нет, вы можете оставить свой: