Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mencari Alamat E-mel Dipisahkan Koma dengan Cekap dalam MySQL?

Bagaimana untuk Mencari Alamat E-mel Dipisahkan Koma dengan Cekap dalam MySQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-09 08:06:07874semak imbas

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

Mencari E-mel dengan Nilai Dipisahkan Koma dalam MySQL

Apabila bekerja dengan jadual MySQL yang mengandungi nilai dipisahkan koma (CSV), mencari data boleh mencabar. Contohnya, jika anda mempunyai jadual dengan alamat e-mel yang disimpan sebagai CSV, anda mungkin perlu menanyakannya berdasarkan alamat e-mel tertentu.

Soalan:

Pangkalan data terdiri daripada dua jadual: "pelanggan" (mengandungi alamat e-mel pelanggan) dan "imap_emails" (mengandungi medan "kepada" dan "dari" dengan CSV nilai). Matlamatnya adalah untuk mengambil e-mel daripada jadual "pelanggan" dan mencarinya dalam medan "kepada" dan "daripada" jadual "imap_emails".

Penyelesaian menggunakan FIND_IN_SET:

Satu cara yang cekap untuk melakukan carian sedemikian adalah dengan menggunakan fungsi FIND_IN_SET. Fungsi ini mengembalikan kedudukan rentetan yang ditentukan dalam senarai yang dipisahkan koma. Dengan menggabungkannya dengan cantuman, anda boleh mencapai hasil yang diingini.

Contoh Pertanyaan:

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

Pertanyaan ini melakukan cantuman dalaman antara "imap_emails" dan jadual "pelanggan" berdasarkan syarat alamat e-mel pelanggan wujud dalam medan "kepada" jadual "imap_emails" (seperti ditentukan oleh FIND_IN_SET).

Nota:

  • Pertanyaan di atas akan mengembalikan semua e-mel yang mengandungi alamat e-mel pelanggan yang ditentukan sama ada dalam "ke" atau " dari" medan. Jika anda ingin mengecilkan carian kepada medan tertentu, anda boleh mengubah suai syarat penyertaan dengan sewajarnya.
  • FIND_IN_SET juga boleh digunakan untuk carian yang lebih kompleks, seperti mencari berbilang alamat e-mel dalam senarai yang dipisahkan koma. Rujuk dokumentasi MySQL untuk maklumat lanjut.

Atas ialah kandungan terperinci Bagaimana untuk Mencari Alamat E-mel Dipisahkan Koma dengan Cekap dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn