Maison base de données tutoriel mysql MySQL单表多关键字模糊查询的实现方法

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

Jun 07, 2016 pm 06:03 PM
关键字 模糊查询

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 ‘%关键字%'
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Analyse approfondie du rôle et de l'utilisation du mot-clé static en langage C Analyse approfondie du rôle et de l'utilisation du mot-clé static en langage C Feb 20, 2024 pm 04:30 PM

Analyse approfondie du rôle et de l'utilisation du mot-clé static en langage C. En langage C, static est un mot-clé très important, qui peut être utilisé dans la définition de fonctions, de variables et de types de données. L'utilisation du mot-clé static peut modifier les attributs de lien, la portée et le cycle de vie de l'objet. Analysons en détail le rôle et l'utilisation du mot-clé static en langage C. Variables et fonctions statiques : les variables définies à l'aide du mot-clé static à l'intérieur d'une fonction sont appelées variables statiques et ont un cycle de vie global.

Go est-il un mot-clé en langage C ? Analyse détaillée Go est-il un mot-clé en langage C ? Analyse détaillée Mar 16, 2024 am 10:30 AM

Titre : Go est-il un mot-clé en langage C ? Analyse détaillée En langage C, "go" n'est pas un mot-clé. Les mots-clés en langage C sont spécifiés par le standard C et sont utilisés pour représenter des structures ou des fonctions grammaticales spécifiques. Ils ont des significations particulières dans le compilateur et ne peuvent pas être utilisés comme identifiants ou noms de variables. Par exemple, le mot clé « int » représente un type de données entier, « if » représente une instruction conditionnelle, etc. Si nous voulons vérifier si « go » est un mot-clé en langage C, nous pouvons écrire un programme simple pour le tester. Voici un exemple : #inc

Le rôle et les exemples du mot-clé var en PHP Le rôle et les exemples du mot-clé var en PHP Jun 28, 2023 pm 08:58 PM

Le rôle et les exemples du mot-clé var en PHP En PHP, le mot-clé var permet de déclarer une variable. Dans les versions précédentes de PHP, l'utilisation du mot-clé var était la manière idiomatique de déclarer les variables membres, mais son utilisation n'est plus recommandée. Cependant, dans certains cas, le mot-clé var est toujours utilisé. Le mot-clé var est principalement utilisé pour déclarer une variable locale et marquer automatiquement la variable comme portée locale. Cela signifie que la variable n'est visible que dans le bloc de code actuel et n'est pas accessible dans d'autres fonctions ou blocs de code. Utiliser var

Combien de mots-clés y a-t-il en langage C ? Combien de mots-clés y a-t-il en langage C ? Nov 22, 2022 pm 03:39 PM

Il existe 32 mots-clés en langage C. Selon la fonction des mots-clés, ils peuvent être divisés en quatre catégories : mots-clés de type de données, mots-clés d'instructions de contrôle, mots-clés de type de stockage et autres mots-clés. Il existe 12 mots-clés de type de données, dont char, double, float, int, etc. ; il existe 12 mots-clés d'instruction de contrôle, dont for, break, if, else, do, etc. ; il existe 4 mots-clés de type de stockage, dont auto, static , extern, etc. ; il y a 4 autres mots-clés, dont const, sizeof, etc.

Est-ce que while est un mot-clé dans le langage go ? Est-ce que while est un mot-clé dans le langage go ? Jun 04, 2021 pm 05:01 PM

Dans le langage Go, while n'est pas un mot-clé. Vous pouvez utiliser l'instruction for plus break pour obtenir l'effet d'une boucle while, telle que "for {sum++ if sum>10{break}else{...}}". Le langage go contient 25 mots-clés tels que break, default, func, select, case, defer, go, map, else, goto, for, if, var, etc.

Comment utiliser la requête floue Where en PHP Comment utiliser la requête floue Where en PHP Mar 23, 2023 pm 02:11 PM

En langage PHP, la clause Where est la partie la plus importante de l'instruction SQL. Elle est utilisée pour filtrer les données de la table spécifiée afin d'obtenir les résultats requis. La requête floue est l'une des opérations courantes qui nous permet d'utiliser des caractères génériques dans la requête pour faire correspondre une partie des données du champ de texte. Voyons comment utiliser la requête floue Where en PHP.

Explication détaillée du rôle et de l'utilisation du mot-clé extends en PHP Explication détaillée du rôle et de l'utilisation du mot-clé extends en PHP Jun 28, 2023 pm 08:04 PM

Explication détaillée du rôle et de l'utilisation du mot-clé extends en PHP Dans la programmation PHP, extends est un mot-clé très important, utilisé pour implémenter l'héritage de classe. Grâce au mot-clé extends, nous pouvons créer une nouvelle classe qui peut hériter des propriétés et des méthodes d'une ou plusieurs classes existantes. L'héritage est un concept important dans la programmation orientée objet, qui rend la réutilisation et l'extension du code plus pratiques et plus flexibles. Cet article présentera en détail la fonction et l'utilisation du mot-clé extends. s'étend

Accéder à la liste de mots clés de langue Accéder à la liste de mots clés de langue Apr 07, 2024 pm 02:15 PM

Les mots clés du langage Go sont les suivants : Mots clés de base: const, func, type, var, if, else, for, return Mots clés liés au type de données: bool, string, int, float64, interface{}, map, slice Autres mots clés:break, continuer, différer, aller, sélectionner, gamme

See all articles