Heim  >  Artikel  >  Datenbank  >  Was ist die Fuzzy-Abfragesyntax in MySQL?

Was ist die Fuzzy-Abfragesyntax in MySQL?

青灯夜游
青灯夜游Original
2020-09-30 16:18:598957Durchsuche

Was ist die Fuzzy-Abfragesyntax in MySQL?

MySQL LIKE Fuzzy Query

Wir wissen, dass wir den SQL SELECT-Befehl in MySQL verwenden, um Daten zu lesen, und wir können die WHERE-Klausel in der SELECT-Anweisung verwenden, um die angegebenen Datensätze abzurufen.

Sie können das Gleichheitszeichen = in der WHERE-Klausel verwenden, um die Bedingungen für den Datenabruf festzulegen, z. B. „runoob_author = 'RUNOOB.COM'“.

Aber manchmal müssen wir alle Datensätze abrufen, deren Feld „runoob_author“ „COM“-Zeichen enthält, dann müssen wir die SQL-LIKE-Klausel in der WHERE-Klausel verwenden.

Das Prozentzeichen % wird in der SQL-LIKE-Klausel verwendet, um ein beliebiges Zeichen darzustellen, ähnlich dem Sternchen * in UNIX oder regulären Ausdrücken.

Wenn das Prozentzeichen % nicht verwendet wird, hat die LIKE-Klausel die gleiche Wirkung wie das Gleichheitszeichen =.

Syntax

Das Folgende ist die allgemeine Syntax für die SQL SELECT-Anweisung zum Lesen von Daten aus einer Datentabelle mithilfe der LIKE-Klausel:

SELECT field1, field2,...fieldN 
FROM table_name
WHERE field1 LIKE condition1 [AND [OR]] filed2 = 'somevalue'
  • Sie können jede beliebige Bedingung in der WHERE-Klausel angeben.

  • Sie können die LIKE-Klausel in der WHERE-Klausel verwenden.

  • Sie können die LIKE-Klausel anstelle des Gleichheitszeichens = verwenden.

  • LIKE wird normalerweise mit % verwendet, ähnlich einer Metazeichensuche.

  • Sie können AND oder OR verwenden, um eine oder mehrere Bedingungen anzugeben.

  • Sie können die WHERE...LIKE-Klausel im DELETE- oder UPDATE-Befehl verwenden, um Bedingungen anzugeben.

Vier Verwendungen von Fuzzy-Abfragen in MySQL:

Eins.%: steht für beliebige 0 oder mehr Zeichen. Kann mit Zeichen jeder Art und Länge übereinstimmen. Wenn es sich um Chinesisch handelt, verwenden Sie bitte zwei Prozentzeichen (%%), um es auszudrücken.

*Hinweis: Wie „%龙%“: Alle Datensätze abfragen, die „龙“ enthalten

1. Abfragefeld + wie „%龙%“

Beispiel: Wählen Sie * vom Benutzer aus, wobei der echte Name „% Dragon%“ ist.

Suchen Sie nach dem Feld „Realname“, das das Wort „龙“ enthält '%龙%' und echter Name wie '%文%'

= abgefragtes Feld+ wie '%文%' und abgefragtes Feld+ wie '%龙%'

z. B.: Wählen Sie * vom Benutzer aus, wobei echter Name wie '%文%' und echter Name wie „%龙%“

3. Alle Datensätze abfragen, die sowohl „龙“ als auch „文“ enthalten

realname wie „%Dragon%Wen%“: 询 Alle Datensätze von „Longwen“ abfragen „, das sein kann „Dragon_wen“, „_“, „Dragon Wen_“

„Dragon“ muss vorne sein, das Wort „text“ steht hinter „select * from user“, wobei ein echter Name wie „%龙%文%“ ist

Echtname wie „%文%龙%“: Fragen Sie alle „文龙“-Datensätze ab, es kann „文_龙“ „_文龙“Wenlong_“ sein. Das Wort „Wen“ muss vorne sein und das Das Wort „Drache“ steht hinter

Wählen Sie * vom Benutzer aus, wobei echter Name wie „%Wen%dragon%“ lautet

2._: bedeutet jedes einzelne einzelne Zeichen. Entspricht einem einzelnen beliebigen Zeichen. Es wird häufig verwendet, um die Zeichenlänge von Ausdrücken zu begrenzen:

1. Fragen Sie das Feld „Realname“ ab, das das Wort „Lin“ in der Mitte enthält (Voraussetzung: drei Zeichen im Namen)

select * from user where realname like '_Lin_'

=select * from user where realname like '%_Lin_%'

kann nur den echten Namen wie „Yu Linwen“ mit drei Zeichen abfragen und das mittlere Zeichen ist: „林“ 2. Fragen Sie den Namen von Lin ab.

(Name mit drei Zeichen) vom Benutzer mit echtem Namen wie „%林__%“

(Hier gibt es zwei horizontale Balken)

Fragen Sie den echten Namen des Nachnamens „Lin“ ab. Die Anzahl der Zeichen im echten Namen muss 3 betragen.

3. Fragen Sie den Namen ab, dessen letztes Zeichen „Lin“ ist. wählen Sie * von einem Benutzer aus, dessen echter Name etwa „__林“ ist.

(Hier gibt es zwei horizontale Balken)

Abfrage Suchen Sie nach dem Namen, dessen letztes Zeichen „Lin“ ist. Die Anzahl der Zeichen im echten Namen muss 3 betragen

Wählen Sie * aus dem Benutzer aus, bei dem der echte Name wie „Lin_“ aussieht.

Fragen Sie den Namen von Lin ab. '

5. Fragen Sie den Namen ab, dessen letztes Zeichen „Lin“ ist Namen, deren letztes Zeichen „Lin“ ist (der Name kann zwei oder drei Zeichen haben)

select * from user where realname like '%_林%'

three .[ ]: Repräsentiert eines von die in Klammern aufgeführten Zeichen (ähnlich einem regulären Ausdruck). Geben Sie ein Zeichen, eine Zeichenfolge oder einen Bereich an und verlangen Sie, dass das übereinstimmende Objekt eines davon ist. Wählen Sie * aus einem Benutzer aus, dessen richtiger Name wie „[Zhang Cai Wang] Jie“ lautet. Fragen Sie nach „Zhang Jie“, „Cai Jie“, „Wang Jie“ ab [ ] Es gibt eine Reihe von Zeichen (01234, abcde usw.), die als „0-4“, „a-e“ abgekürzt werden können.

Wählen Sie * vom Benutzer aus, wobei ein echter Name wie „Lin[1-9]“ abgefragt wird. Lin 1" "Lin 2"..."Lin 9"

四.[^]: Zeigt ein einzelnes Zeichen an, das nicht in Klammern aufgeführt ist. Sein Wert ist derselbe wie [], es ist jedoch erforderlich, dass das übereinstimmende Objekt ein anderes Zeichen als das angegebene Zeichen ist.

Wählen Sie * aus einem Benutzer aus, bei dem ein richtiger Name wie „[^Zhang Cai Wang] Jie“ lautet.

Suchen Sie nach „Lin Jie“, „Zhao Jie“, die nicht „Zhang“, „Cai“, „Wang“ usw. heißen. Wählen Sie * vom Benutzer aus, wobei ein echter Name wie „Lin [^1-4]“

„Lin 1“ bis „Lin 4“ ausschließt und nach „Lin 5“, „Lin 6“ sucht...

Empfohlenes Tutorial:

MySQL-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas ist die Fuzzy-Abfragesyntax in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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