我如何通过mysql数据库grep?

时间:2009-01-16 20:42:44

标签: mysql grep

为MySql数据库寻找一个漂亮的辅助函数/方法来浏览所有已定义的表,列,存储过程等。

我对SQL Server有类似的东西。

5 个答案:

答案 0 :(得分:33)

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

答案 1 :(得分:10)

在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 :(得分:0)

这里有一个存储过程(http://forge.mysql.com/tools/tool.php?id=232)用于MySQL,它将创建一个用于存储输出的表,然后循环通过information_schema数据库的COLUMNS表来获取所有数据库的表和列名。接下来在database.table上为每个列执行count()查询,并在where条件中使用适当的搜索字符串。如果count()> 0,该特定列具有搜索项,因此它将该三元组(数据库名称,表名,列名)插入表中。最后从表中选择*以查看具有搜索词的相应数据库表和列名。

答案 3 :(得分:0)

Common Resource Grep(crgrep)搜索表/列名称和数据匹配并支持MySQL。

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

还搜索其他难以搜索的资源,例如隐藏在档案中的内容。我开发了crgrep作为开源工具。

答案 4 :(得分:0)

或者简单的MySQL Workbench->数据库->搜索表数据...