2016-04-26 32 views
1

我需要對數據庫中的特定行執行grep搜索。我見過很多關於如何使用mysqldump執行grep搜索的例子,但似乎是針對整個數據庫的,我只需要在某一行執行它。我現在使用php代碼來訪問和檢索數據庫中的數據,所以如果有類似於grep的東西,我可以通過php來使用,那樣會更好!謝謝。對數據庫中的特定行執行grep搜索

編輯:只是爲了進一步擴大我究竟需要做什麼。我有一個運行在Linux服務器上的網頁。我的數據庫中有一行稱爲內容,每個內容行都包含一個存儲爲blob的xml文件。我需要使用grep搜索或類似的東西搜索這些XML文件,grep搜索is this。根據我對grep的理解,它需要一種模式,以便用戶從網頁上將該模式作爲文本字段提交,希望有所幫助。

+3

爲什麼不使用SQL? 「grep search」是什麼意思?包含搜索?使用** WHERE foo LIKE'%bar%'**這將查找列foo包含值* bar的所有行* – slax0r

+0

您只能轉儲選定行http://stackoverflow.com/questions/6113213/mysql-dump-only-certain-rows – StanislavL

+0

如果你真的需要使用grep,並希望得到一些幫助,那麼請給出更多細節。就像你如何找到那些特定的行?那你想在他們身上找到什麼? –

回答

0

由於slax0r的意見建議,你可以使用LIKE操作符搜索包含特定的子行:

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

你mentionned mysqldump的,所以我假設你使用MySQL。如果你想要的不僅僅是一個簡單的子字符串,你可以使用REGEXP運算符。舉例來說,如果你想獲得其「內容」欄中包含了一些所有行:

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

看一看在documentation來學習如何使用REGEXP正常。