Padanan teks penuh tepat MySQL
Mencari kata kunci dalam medan teks ialah tugas biasa, tetapi kadangkala anda hanya mahu memadankan perkataan yang tepat. Sebagai contoh, jika anda mencari "rid", anda tidak mahu mendapatkan hasil seperti "gersang" tetapi hanya contoh "arid".
Pertanyaan SQL MySQL menyediakan penyelesaian kepada masalah ini. Artikel ini melihat secara mendalam cara untuk mencari padanan perkataan lengkap dalam MySQL.
Penggunaan ungkapan biasa yang indah
Fungsi REGEXP MySQL adalah penting untuk menyempurnakan carian teks. Ia membolehkan anda menggunakan penanda sempadan perkataan [[:<:]]
dan [[:>:]]
untuk mengehadkan padanan untuk melengkapkan perkataan. Pertimbangkan pertanyaan berikut:
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '[[:<:]]rid[[:>:]]'</code>
Pertanyaan ini sepadan dengan baris yang medan keywords
mengandungi "buang" sebagai satu perkataan. Ia tidak termasuk padanan separa seperti "gersang" atau "co-rid".
MySQL 8.0.4 dan lebih tinggi
Dalam MySQL 8.0.4 dan lebih baru, enjin ungkapan biasa telah dipertingkatkan. Penanda sempadan perkataan telah dikemas kini kepada standard b
. Oleh itu, pertanyaan di atas menjadi:
<code class="language-sql">SELECT * FROM table WHERE keywords REGEXP '\brid\b'</code>
Ingat untuk melarikan diri daripada aksara sengkang terbalik (\
) dengan sengkang terbalik yang lain () untuk mengelakkan kelemahan suntikan SQL.
Kaedah ini menyediakan cara yang mudah dan cekap untuk mencari padanan perkataan lengkap dalam MySQL, tanpa mengira saiz pangkalan data atau keperluan prestasi anda. Ia membolehkan anda memperhalusi pertanyaan anda dan meningkatkan perkaitan hasil carian anda.
Atas ialah kandungan terperinci Bagaimana untuk mencari padanan perkataan yang tepat dalam MySQL menggunakan ungkapan biasa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!