我需要对数据库中的特定行执行 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
。