Heim > Datenbank > MySQL-Tutorial > Wie kann man in MySQL effizient nach durch Kommas getrennten E-Mail-Adressen suchen?

Wie kann man in MySQL effizient nach durch Kommas getrennten E-Mail-Adressen suchen?

Mary-Kate Olsen
Freigeben: 2024-12-09 08:06:07
Original
874 Leute haben es durchsucht

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

E-Mails mit durch Kommas getrennten Werten in MySQL finden

Beim Arbeiten mit MySQL-Tabellen, die durch Kommas getrennte Werte (CSVs) enthalten, wird nach Daten gesucht kann eine Herausforderung sein. Wenn Sie beispielsweise eine Tabelle mit E-Mail-Adressen haben, die als CSVs gespeichert sind, müssen Sie diese möglicherweise anhand einer bestimmten E-Mail-Adresse abfragen.

Frage:

Eine Datenbank besteht aus zwei Tabellen: „customers“ (enthält Kunden-E-Mail-Adressen) und „imap_emails“ (enthält die Felder „to“ und „from“ mit CSV-Werten). Ziel ist es, E-Mails aus der Tabelle „Kunden“ abzurufen und in den Feldern „An“ und „Von“ der Tabelle „imap_emails“ nach ihnen zu suchen.

Lösung mit FIND_IN_SET:

Eine effiziente Möglichkeit, eine solche Suche durchzuführen, ist die Verwendung der Funktion FIND_IN_SET. Diese Funktion gibt die Position einer angegebenen Zeichenfolge innerhalb einer durch Kommas getrennten Liste zurück. Durch die Kombination mit einem Join können Sie das gewünschte Ergebnis erzielen.

Beispielabfrage:

SELECT *
FROM imap_emails
INNER JOIN customers
ON FIND_IN_SET(customers.email, imap_emails.to) > 0
Nach dem Login kopieren

Diese Abfrage führt einen inneren Join zwischen „imap_emails“ und durch „customers“-Tabellen basierend auf der Bedingung, dass die E-Mail-Adresse des Kunden im „to“-Feld der „imap_emails“-Tabelle vorhanden ist (wie durch bestimmt). FIND_IN_SET).

Hinweise:

  • Die obige Abfrage gibt alle E-Mails zurück, die die E-Mail-Adresse des angegebenen Kunden entweder im „An“ oder im „Von“ enthalten. Feld. Wenn Sie die Suche auf bestimmte Felder eingrenzen möchten, können Sie die Verknüpfungsbedingung entsprechend ändern.
  • FIND_IN_SET kann auch für komplexere Suchvorgänge verwendet werden, beispielsweise zum Suchen mehrerer E-Mail-Adressen in einer durch Kommas getrennten Liste. Weitere Informationen finden Sie in der MySQL-Dokumentation.

Das obige ist der detaillierte Inhalt vonWie kann man in MySQL effizient nach durch Kommas getrennten E-Mail-Adressen suchen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage