Найти слово в столбце во всех таблицах базы данных MySQL

Этот запрос будет проходить по всем таблицам в текущей базе данных и искать слово Hello в столбце name. Результатом запроса будет список названий таблиц, в которых найдено искомое слово.

SET @search_value = 'Hello';
SET @query = '';

SELECT GROUP_CONCAT(
  DISTINCT CONCAT(
    'SELECT ''', table_name, ''' AS table_name FROM `', table_name,
    '` WHERE name LIKE ''%', @search_value, '%'' '
  )
    SEPARATOR ' UNION '
) INTO @query
FROM information_schema.columns
WHERE column_name = 'name' AND table_schema = 'название_базы_данных'; -- table_schema = DATABASE()

PREPARE statement FROM @query;
EXECUTE statement;
DEALLOCATE PREPARE statement;
Закрыть