Как мне grep через базу данных mysql?

Ищете отличную вспомогательную функцию/метод для grepping через все определенные таблицы, столбцы, хранимые процедуры и т.д. для базы данных MySql.

У меня было что-то подобное для SQL Server.

Ответы

Ответ 1

В базе данных INFORMATION_SCHEMA:

select * from columns WHERE TABLE_NAME LIKE '%tablename%' AND COLUMN_NAME LIKE '%columnname%'

Подробнее здесь: http://dev.mysql.com/doc/refman/5.0/en/information-schema.html

Хорошо, он не полностью отвечает на ваш вопрос, но вы должны быть в состоянии собрать его, как вы хотите отсюда.

Ответ 2

mysqldump --compact --skip-extended-insert -u root -proot mydb | grep "interesting string"

Ответ 3

Здесь хранится процедура (http://forge.mysql.com/tools/tool.php?id=232) для MySQL, которая создаст таблицу для хранения вывода, а затем прорвется через базу данных information_schema COLUMNS таблицу для получения всех имен таблиц базы данных и столбцов. Затем выполните запрос count() в базе данных .table для каждого столбца с соответствующей строкой поиска, где условие. Если count() > 0, этот столбец имеет поисковый запрос, поэтому он вставляет этот триплет (имя базы данных, имя таблицы, имя столбца) в таблицу. Last Select * from table для просмотра соответствующих имен таблиц и столбцов базы данных, имеющих срок поиска.

Ответ 4

Common Resource Grep (crgrep) ищет имя столбца/столбца и данные и поддерживает MySQL.

http://sourceforge.net/projects/crgrep/

Также ищет другие труднодоступные ресурсы, такие как контент, захороненный в архивах. Я разработал crgrep в качестве инструмента с открытым исходным кодом.

Ответ 5

или просто, MySQL Workbench → База данных → Поиск данных таблицы...