Heim > Datenbank > MySQL-Tutorial > Hauptteil

So fragen Sie Daten ab, die eine bestimmte Zeichenfolge in MySQL enthalten

青灯夜游
Freigeben: 2022-01-05 16:23:49
Original
25038 Leute haben es durchsucht

In MySQL können Sie die Anweisung „SELECT“ und das Schlüsselwort „LIKE“ verwenden, um Daten abzufragen, die die angegebene Zeichenfolge enthalten. Das Schlüsselwort „LIKE“ wird hauptsächlich zum Suchen nach dem angegebenen Inhalt im passenden Feld verwendet name WHERE Feldname [NOT] LIKE 'string';".

So fragen Sie Daten ab, die eine bestimmte Zeichenfolge in MySQL enthalten

Die Betriebsumgebung dieses Tutorials: Windows7-System, MySQL8-Version, Dell G3-Computer.

In MySQL können Sie die „SELECT“-Anweisung und das Schlüsselwort LIKE verwenden, um Daten abzufragen, die eine bestimmte Zeichenfolge enthalten.

Das Schlüsselwort LIKE wird hauptsächlich verwendet, um im passenden Feld nach bestimmten Inhalten zu suchen. Das Syntaxformat ist wie folgt:

[NOT] LIKE  '字符串'
Nach dem Login kopieren

Darunter:

  • NOT: Optionaler Parameter, die Bedingung ist erfüllt, wenn der Inhalt im Feld nicht mit der angegebenen Zeichenfolge übereinstimmt.

  • String: Geben Sie die Zeichenfolge an, die übereinstimmen soll. „String“ kann eine vollständige Zeichenfolge sein oder Platzhalterzeichen enthalten.

Das Schlüsselwort LIKE unterstützt Prozentzeichen „%“ und Unterstriche „_“ als Platzhalterzeichen.

Wildcard ist eine spezielle Anweisung, die hauptsächlich für Fuzzy-Abfragen verwendet wird. Wenn Sie die echten Zeichen nicht kennen oder zu faul sind, den vollständigen Namen einzugeben, können Sie Platzhalter verwenden, um ein oder mehrere echte Zeichen zu ersetzen.

Anwendungsbeispiele für die „SELECT“-Anweisung + das Schlüsselwort „LIKE“

Abfrage mit dem Platzhalter „%%”通配符的查询

“%”是 MySQL 中最常用的通配符,它能代表任何长度的字符串,字符串的长度可以为 0。例如,a%b表示以字母 a 开头,以字母 b 结尾的任意长度的字符串。该字符串可以代表 ab、acb、accb、accrb 等字符串。

例 1

在 tb_students_info 表中,查找所有以字母“T”开头的学生姓名,SQL 语句和运行结果如下。

mysql> SELECT name FROM tb_students_info
    -> WHERE name LIKE 'T%';
+--------+
| name   |
+--------+
| Thomas |
| Tom    |
+--------+
2 rows in set (0.12 sec)
Nach dem Login kopieren

可以看到,查询结果中只返回了以字母“T”开头的学生姓名。

注意:匹配的字符串必须加单引号或双引号。

NOT LIKE 表示字符串不匹配时满足条件。

例 2

在 tb_students_info 表中,查找所有不以字母“T”开头的学生姓名,SQL 语句和运行结果如下。

mysql> SELECT NAME FROM tb_students_info
    -> WHERE NAME NOT LIKE 'T%';
+-------+
| NAME  |
+-------+
| Dany  |
| Green |
| Henry |
| Jane  |
| Jim   |
| John  |
| Lily  |
| Susan |
+-------+
8 rows in set (0.00 sec)
Nach dem Login kopieren

可以看到,查询结果中返回了不以字母“T”开头的学生姓名。

例 3

在 tb_students_info 表中,查找所有包含字母“e”的学生姓名,SQL 语句和运行结果如下。

mysql> SELECT name FROM tb_students_info
    -> WHERE name LIKE '%e%';
+-------+
| name  |
+-------+
| Green |
| Henry |
| Jane  |
+-------+
3 rows in set (0.00 sec)
Nach dem Login kopieren

可以看到,查询结果中返回了所有包含字母“e”的学生姓名。

带有“_

„%“ kommt in MySQL A am häufigsten vor Häufig verwendetes Platzhalterzeichen, es kann eine Zeichenfolge beliebiger Länge darstellen und die Länge der Zeichenfolge kann 0 sein. Beispielsweise stellt a%b eine Zeichenfolge beliebiger Länge dar, die mit dem Buchstaben a beginnt und mit dem Buchstaben b endet. Diese Zeichenfolge kann Zeichenfolgen wie ab, acb, accb, accrb usw. darstellen.

Beispiel 1

Suchen Sie in der Tabelle tb_students_info alle Schülernamen, die mit dem Buchstaben „T“ beginnen. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt.

mysql> SELECT name FROM tb_students_info
    -> WHERE name LIKE '____y';
+-------+
| name  |
+-------+
| Henry |
+-------+
1 row in set (0.00 sec)
Nach dem Login kopieren

Sie können sehen, dass in den Abfrageergebnissen nur Schülernamen zurückgegeben werden, die mit dem Buchstaben „T“ beginnen.

Hinweis: Die passende Zeichenfolge muss in einfache oder doppelte Anführungszeichen gesetzt werden. NOT LIKE bedeutet, dass die Bedingung erfüllt ist, wenn die Zeichenfolge nicht übereinstimmt.

Beispiel 2

Suchen Sie in der Tabelle tb_students_info alle Schülernamen, die nicht mit dem Buchstaben „T“ beginnen. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt.

mysql> SELECT name FROM tb_students_info WHERE name LIKE 't%';
+--------+
| name   |
+--------+
| Thomas |
| Tom    |
+--------+
2 rows in set (0.00 sec)
mysql> SELECT name FROM tb_students_info WHERE name LIKE BINARY 't%';
Empty set (0.01 sec)
Nach dem Login kopieren
Sie können sehen, dass die Abfrageergebnisse Schülernamen zurückgegeben haben, die nicht mit dem Buchstaben „T“ beginnen.

Beispiel 3

Suchen Sie in der Tabelle tb_students_info alle Schülernamen, die den Buchstaben „e“ enthalten. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt. rrreee

Sie können sehen, dass in den Abfrageergebnissen alle Studentennamen zurückgegeben werden, die den Buchstaben „e“ enthalten. 🎜🎜🎜🎜Abfrage mit dem Platzhalter „🎜🎜_“ 🎜🎜🎜🎜 „_“ kann nur ein einzelnes Zeichen darstellen und die Länge des Zeichens darf nicht 0 sein. Beispielsweise kann a_b Zeichenfolgen wie acb, adb, aub usw. darstellen. 🎜🎜🎜Beispiel 4🎜🎜🎜Suchen Sie in der Tabelle tb_students_info alle Schülernamen, die mit dem Buchstaben „y“ enden und nur 4 Buchstaben vor „y“ haben. Die SQL-Anweisung und die laufenden Ergebnisse lauten wie folgt. 🎜rrreee🎜🎜🎜Bei LIKE wird die Groß-/Kleinschreibung beachtet🎜🎜🎜🎜Standardmäßig wird beim Schlüsselwort LIKE bei der Zeichenübereinstimmung die Groß-/Kleinschreibung nicht beachtet. Wenn die Groß-/Kleinschreibung beachtet werden muss, kann das Schlüsselwort BINARY hinzugefügt werden. 🎜🎜🎜Beispiel 5🎜🎜🎜Suchen Sie in der Tabelle tb_students_info alle Schülernamen, die mit dem Buchstaben „t“ beginnen. Die Groß-/Kleinschreibung berücksichtigenden und nicht beachteten SQL-Anweisungen und laufenden Ergebnisse lauten wie folgt. 🎜rrreee🎜Wie Sie den Ergebnissen entnehmen können, werden Datensätze wie „Tom“ und „Thomas“ nach Berücksichtigung der Groß-/Kleinschreibung nicht abgeglichen. 🎜🎜【Verwandte Empfehlung: 🎜MySQL-Video-Tutorial🎜】🎜

Das obige ist der detaillierte Inhalt vonSo fragen Sie Daten ab, die eine bestimmte Zeichenfolge in MySQL enthalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!