对数据库中的特定行执行 grep 搜索


Performing grep search on specific rows in a database

我需要对数据库中的特定行执行 grep 搜索。我已经看到许多关于如何使用 mysqldump 执行 grep 搜索的示例,但这似乎是针对整个数据库的,我只需要在某一行上执行它。我现在正在使用 php 代码从数据库中访问和检索数据,所以如果有类似于 grep 的东西,我可以通过 php 使用,那就更好了!谢谢。

编辑:只是为了进一步扩展我到底需要做什么。我有一个在 Linux 服务器上运行的网页。我的数据库中有一行名为 content,每个内容行都包含一个存储为 blob 的 xml 文件。我需要使用 grep 搜索或类似的东西来搜索这些 xml 文件,grep 搜索是这样的.根据我对 grep 的理解,它需要一个模式,因此该模式将由用户从网页作为文本字段提交,希望有所帮助。

正如 slax0r 在注释中建议的那样,您可以使用 LIKE 运算符搜索包含特定子字符串的行:

SELECT content FROM my_table WHERE content LIKE '%thesubstringimlookingfor%';

提到了mysqldump,所以我假设你使用的是MySQL。如果想要的不仅仅是一个简单的子字符串,则可以使用 REGEXP 运算符。例如,如果要获取"content"列包含数字的所有行:

SELECT content FROM my_table WHERE content REGEXP '[0-9]+';

查看文档以了解如何正确使用REGEXP