Heim Datenbank MySQL-Tutorial 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 ‘%关键字%'
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

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Eingehende Analyse der Rolle und Verwendung des statischen Schlüsselworts in der C-Sprache Eingehende Analyse der Rolle und Verwendung des statischen Schlüsselworts in der C-Sprache Feb 20, 2024 pm 04:30 PM

Eingehende Analyse der Rolle und Verwendung des Schlüsselworts „static“ in der Sprache C. In der Sprache C ist „static“ ein sehr wichtiges Schlüsselwort, das bei der Definition von Funktionen, Variablen und Datentypen verwendet werden kann. Die Verwendung des Schlüsselworts static kann die Linkattribute, den Umfang und den Lebenszyklus des Objekts ändern. Lassen Sie uns die Rolle und Verwendung des Schlüsselworts static in der C-Sprache im Detail analysieren. Statische Variablen und Funktionen: Variablen, die mit dem Schlüsselwort static innerhalb einer Funktion definiert werden, werden als statische Variablen bezeichnet, die einen globalen Lebenszyklus haben

Ist go ein Schlüsselwort in der C-Sprache? Detaillierte Analyse Ist go ein Schlüsselwort in der C-Sprache? Detaillierte Analyse Mar 16, 2024 am 10:30 AM

Titel: Ist go ein Schlüsselwort in der C-Sprache? Detaillierte Analyse In der C-Sprache ist „go“ kein Schlüsselwort. Schlüsselwörter in der C-Sprache werden vom C-Standard spezifiziert und zur Darstellung spezifischer grammatikalischer Strukturen oder Funktionen verwendet. Sie haben im Compiler eine besondere Bedeutung und können nicht als Bezeichner oder Variablennamen verwendet werden. Beispielsweise stellt das Schlüsselwort „int“ einen ganzzahligen Datentyp dar, „if“ stellt eine bedingte Anweisung dar und so weiter. Wenn wir überprüfen möchten, ob „go“ ein Schlüsselwort in der C-Sprache ist, können wir ein einfaches Programm schreiben, um es zu testen. Hier ist ein Beispiel: #inc

Die Rolle und Beispiele des Schlüsselworts var in PHP Die Rolle und Beispiele des Schlüsselworts var in PHP Jun 28, 2023 pm 08:58 PM

Die Rolle und Beispiele des Schlüsselworts var in PHP In PHP wird das Schlüsselwort var zum Deklarieren einer Variablen verwendet. In früheren PHP-Versionen war die Verwendung des Schlüsselworts var die idiomatische Methode zum Deklarieren von Mitgliedsvariablen, seine Verwendung wird jedoch nicht mehr empfohlen. In einigen Fällen wird jedoch weiterhin das Schlüsselwort var verwendet. Das Schlüsselwort var wird hauptsächlich verwendet, um eine lokale Variable zu deklarieren und die Variable automatisch als lokalen Bereich zu markieren. Dies bedeutet, dass die Variable nur innerhalb des aktuellen Codeblocks sichtbar ist und nicht in anderen Funktionen oder Codeblöcken darauf zugegriffen werden kann. Verwenden Sie var

Wie viele Schlüsselwörter gibt es in der C-Sprache? Wie viele Schlüsselwörter gibt es in der C-Sprache? Nov 22, 2022 pm 03:39 PM

Es gibt 32 Schlüsselwörter in der C-Sprache. Je nach Funktion können Schlüsselwörter in vier Kategorien unterteilt werden: Schlüsselwörter für Datentypen, Schlüsselwörter für Steueranweisungen, Schlüsselwörter für Speichertypen und andere Schlüsselwörter. Es gibt 12 Schlüsselwörter für Datentypen, einschließlich char, double, float, int usw.; es gibt 12 Schlüsselwörter für Steueranweisungen, einschließlich for, break, if, else, do usw.; es gibt 4 Schlüsselwörter für Speichertypen, einschließlich auto, static , extern usw.; es gibt 4 weitere Schlüsselwörter, einschließlich const, sizeof usw.

Ist while ein Schlüsselwort in der Go-Sprache? Ist while ein Schlüsselwort in der Go-Sprache? Jun 04, 2021 pm 05:01 PM

In der Go-Sprache ist while kein Schlüsselwort. Sie können die for-Anweisung plus break verwenden, um den Effekt einer while-Schleife zu erzielen, z. B. „for {sum++ if sum>10{break}else{...}}“. Die Go-Sprache verfügt über 25 Schlüsselwörter wie break, default, func, select, case, defer, go, map, else, goto, for, if, var usw.

So verwenden Sie die Where-Fuzzy-Abfrage in PHP So verwenden Sie die Where-Fuzzy-Abfrage in PHP Mar 23, 2023 pm 02:11 PM

In der PHP-Sprache ist die Where-Klausel der wichtigste Teil der SQL-Anweisung. Sie wird verwendet, um die Daten in der angegebenen Tabelle zu filtern, um die erforderlichen Ergebnisse zu erhalten. Fuzzy-Abfragen sind eine der häufigsten Operationen, die es uns ermöglichen, Platzhalterzeichen in der Abfrage zu verwenden, um einen Teil der Daten im Textfeld abzugleichen. Werfen wir einen Blick darauf, wie man die Where-Fuzzy-Abfrage in PHP verwendet.

Go-Sprachschlüsselwortliste Go-Sprachschlüsselwortliste Apr 07, 2024 pm 02:15 PM

Die Schlüsselwörter der Go-Sprache sind: grundlegende Schlüsselwörter: const, func, type, var, if, else, for, return Datentypbezogene Schlüsselwörter: bool, string, int, float64, interface{}, map, Slice andere Schlüsselwörter: break, fortfahren, aufschieben, gehen, auswählen, bereichern

Detaillierte Erläuterung der Rolle und Verwendung des Schlüsselworts „Extens' in PHP Detaillierte Erläuterung der Rolle und Verwendung des Schlüsselworts „Extens' in PHP Jun 28, 2023 pm 08:04 PM

Ausführliche Erläuterung der Rolle und Verwendung des Schlüsselworts „Extens“ in PHP. In der PHP-Programmierung ist Extens ein sehr wichtiges Schlüsselwort, das zur Implementierung der Klassenvererbung verwendet wird. Mit dem Schlüsselwort „extends“ können wir eine neue Klasse erstellen, die die Eigenschaften und Methoden einer oder mehrerer vorhandener Klassen erben kann. Vererbung ist ein wichtiges Konzept in der objektorientierten Programmierung, das die Wiederverwendung und Erweiterung von Code bequemer und flexibler macht. In diesem Artikel werden die Funktion und Verwendung des Schlüsselworts „Extens“ ausführlich vorgestellt. erstreckt sich

See all articles