首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中有效率地搜尋逗號分隔的電子郵件地址?

如何在 MySQL 中有效率地搜尋逗號分隔的電子郵件地址?

Mary-Kate Olsen
發布: 2024-12-09 08:06:07
原創
874 人瀏覽過

How to Efficiently Search Comma-Separated Email Addresses in MySQL?

在MySQL 中尋找包含逗號分隔值的電子郵件

使用包含逗號分隔值(CSV) 的MySQL 表時,搜尋資料庫可能具有挑戰性。例如,如果您有一個表,其中的電子郵件地址儲存為 CSV,您可能需要根據特定的電子郵件地址進行查詢。

問題:

資料庫由兩個表組成:“customers”(包含客戶電子郵件地址)和“imap_emails”(包含具有CSV 值的“to”和“from”字段)。目標是從「customers」表中取得電子郵件,並在「imap_emails」表的「to」和「from」欄位中搜尋它們。

使用 FIND_IN_SET 的解決方案:

執行此類搜尋的一種有效方法是使用 FIND_IN_SET 函數。此函數傳回指定字串在逗號分隔清單中的位置。透過將其與聯接結合起來,您可以獲得所需的結果。

範例查詢:

SELECT *
FROM imap_emails
INNER JOIN customers
ON FIND_IN_SET(customers.email, imap_emails.to) > 0
登入後複製

此查詢在「imap_emails」和「imap_emails」之間執行內部聯接「customers」表基於客戶的電子郵件地址存在於「imap_emails」表的「to」欄位中的條件(由下式決定) FIND_IN_SET)。

註解:

  • 以上查詢將傳回「收件者」或「寄件者」中包含指定客戶電子郵件地址的所有電子郵件場地。如果您想將搜尋範圍縮小到特定字段,可以相應地修改連線條件。
  • FIND_IN_SET 也可以用於更複雜的搜索,例如在逗號分隔的清單中查找多個電子郵件地址。請參閱 MySQL 文件以獲取更多資訊。

以上是如何在 MySQL 中有效率地搜尋逗號分隔的電子郵件地址?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板