Rumah pangkalan data tutorial mysql MySQL单表多关键字模糊查询的实现方法

MySQL单表多关键字模糊查询的实现方法

Jun 07, 2016 pm 06:03 PM
Kata kunci pertanyaan kabur

MySQL单表多关键字模糊查询实现方法是很多人都非常想知道的一个问题,那么,究竟采用什么方法,才能实现MySQL单表多关键字模糊查询呢?

在最近的一个项目需要实现在MySQL单表多关键字模糊查询,但这数个关键字并不一定都存在于某个字段。例如现有table表,其中有title,tag,description三个字段,分别记录一条资料的标题,标签和介绍。然后根据用户输入的查询请求,将输入的字串通过空格分割为多个关键字,再在这三个字段中查询包含这些关键字的记录。


可目前遇到的问题是,这些关键字是可能存在于三个字段中的任意一个或者多个,但又要求三个字段必须包含所有的关键词。如果分别对每个字段进行模糊匹配,是没法实现所需的要求,由此想到两种方法:

在插入记录的同时,将需要进行多字段模糊查询的字段合并成一个字串并加入到一个新的字段中,然后对这个新字段进行模糊查询。 使用全文检索,但是这需要用到中文分词或者将汉字转化为拼音(拆分汉字是不可行的,MySQL默认FT最小字节为4),而且并不利于今后的维护。
在网上爬了两天,对此问题的处理都没有找到满意的解决方法,最后在《MySQL权威指南》中翻到了CONCAT的使用方法,在书中的对CONCAT的描述是:

CONCAT(str1,str2,…)
返回值:由全体出入参数合并在一起而得到的字符串。只要输入的参数中有NULL值,就返回NULL。CONCAT允许只有一个输入参数的情况。

因此,MySQL单表多关键字模糊查询可以通过下面这个SQL查询实现
SELECT * FROM `magazine` WHERE CONCAT(`title`,`tag`,`description`) LIKE ‘%关键字%'
Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Analisis mendalam tentang peranan dan penggunaan kata kunci statik dalam bahasa C Analisis mendalam tentang peranan dan penggunaan kata kunci statik dalam bahasa C Feb 20, 2024 pm 04:30 PM

Analisis mendalam tentang peranan dan penggunaan kata kunci statik dalam bahasa C Dalam bahasa C, statik ialah kata kunci yang sangat penting, yang boleh digunakan dalam definisi fungsi, pembolehubah dan jenis data. Menggunakan kata kunci statik boleh menukar atribut pautan, skop dan kitaran hayat objek Mari analisa peranan dan penggunaan kata kunci statik dalam bahasa C secara terperinci. Pembolehubah statik dan fungsi: Pembolehubah yang ditakrifkan menggunakan kata kunci statik di dalam fungsi dipanggil pembolehubah statik, yang mempunyai kitaran hayat global

Adakah go kata kunci dalam bahasa C? Analisis terperinci Adakah go kata kunci dalam bahasa C? Analisis terperinci Mar 16, 2024 am 10:30 AM

Tajuk: Adakah pergi kata kunci dalam bahasa C? Analisis terperinci Dalam bahasa C, "go" bukan kata kunci. Kata kunci dalam bahasa C ditentukan oleh piawaian C dan digunakan untuk mewakili struktur atau fungsi tatabahasa tertentu Ia mempunyai makna khas dalam pengkompil dan tidak boleh digunakan sebagai pengecam atau nama pembolehubah. Contohnya, kata kunci "int" mewakili jenis data integer, "jika" mewakili pernyataan bersyarat dan sebagainya. Jika kami ingin mengesahkan sama ada "go" ialah kata kunci dalam bahasa C, kami boleh menulis atur cara mudah untuk mengujinya. Berikut ialah contoh: #inc

Peranan dan contoh kata kunci var dalam PHP Peranan dan contoh kata kunci var dalam PHP Jun 28, 2023 pm 08:58 PM

Peranan dan contoh kata kunci var dalam PHP Dalam PHP, kata kunci var digunakan untuk mengisytiharkan pembolehubah. Dalam versi PHP sebelumnya, menggunakan kata kunci var ialah cara idiomatik untuk mengisytiharkan pembolehubah ahli, tetapi penggunaannya tidak lagi disyorkan. Walau bagaimanapun, dalam beberapa kes, kata kunci var masih digunakan. Kata kunci var digunakan terutamanya untuk mengisytiharkan pembolehubah tempatan dan secara automatik menandakan pembolehubah sebagai skop tempatan. Ini bermakna pembolehubah hanya boleh dilihat dalam blok kod semasa dan tidak boleh diakses dalam fungsi atau blok kod lain. Gunakan var

Berapa banyak kata kunci yang terdapat dalam bahasa c? Berapa banyak kata kunci yang terdapat dalam bahasa c? Nov 22, 2022 pm 03:39 PM

Terdapat 32 kata kunci dalam bahasa C Mengikut fungsi kata kunci, ia boleh dibahagikan kepada empat kategori: kata kunci jenis data, kata kunci pernyataan kawalan, kata kunci jenis storan dan kata kunci lain. Terdapat 12 kata kunci jenis data, termasuk char, double, float, int, dll. terdapat 12 kata kunci pernyataan kawalan, termasuk untuk, break, if, else, do, dll.; static , extern, dsb. terdapat 4 kata kunci lain, termasuk const, sizeof, dsb.

go语言中while是关键字吗 go语言中while是关键字吗 Jun 04, 2021 pm 05:01 PM

在go语言中,while不是关键字,可以用for语句加break来实现while循环的效果,例“for {sum++ if sum>10{break}else{...}}”。go语言有break、default 、func、select、case、defer、go、map、else、goto、for、if、var等25个关键字。

Bagaimana untuk menggunakan pertanyaan kabur dalam PHP Bagaimana untuk menggunakan pertanyaan kabur dalam PHP Mar 23, 2023 pm 02:11 PM

Dalam bahasa PHP, klausa where adalah bahagian paling penting dalam pernyataan SQL Ia digunakan untuk menapis data dalam jadual yang ditentukan untuk mendapatkan hasil yang diperlukan. Pertanyaan kabur ialah salah satu operasi biasa, yang membolehkan kami menggunakan aksara kad bebas dalam pertanyaan untuk memadankan sebahagian daripada data dalam medan teks. Mari kita lihat cara menggunakan pertanyaan kabur dalam PHP.

Senarai lengkap kata kunci bahasa pergi Senarai lengkap kata kunci bahasa pergi Apr 07, 2024 pm 02:15 PM

Kata kunci bahasa Go ialah: kata kunci asas: const, func, type, var, if, else, for, return Kata kunci berkaitan jenis data: bool, string, int, float64, antara muka{}, map, slice kata kunci lain :break, teruskan, tangguh, pergi, pilih, julat

Penjelasan terperinci tentang peranan dan penggunaan kata kunci lanjutan dalam PHP Penjelasan terperinci tentang peranan dan penggunaan kata kunci lanjutan dalam PHP Jun 28, 2023 pm 08:04 PM

Penjelasan terperinci tentang peranan dan penggunaan kata kunci extends dalam PHP Dalam pengaturcaraan PHP, extends ialah kata kunci yang sangat penting, yang digunakan untuk melaksanakan warisan kelas. Melalui kata kunci extends, kita boleh mencipta kelas baharu yang boleh mewarisi sifat dan kaedah satu atau lebih kelas sedia ada. Warisan ialah konsep penting dalam pengaturcaraan berorientasikan objek, yang menjadikan penggunaan semula dan sambungan kod lebih mudah dan fleksibel. Artikel ini akan memperkenalkan secara terperinci fungsi dan penggunaan kata kunci extends. memanjang

See all articles