MySql官方手册学习笔记2 MySql的模糊查询和正则表达式_MySQL
正则表达式
bitsCN.comSQL模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零字符)。在 MySQL中,SQL的模式默认是忽略大小写的。下面给出一些例子。注意使用SQL模式时,不能使用=或!=;而应使用LIKE或NOT LIKE比较操作符。
要想找出以“b”开头的名字:
mysql> <strong>SELECT * FROM pet WHERE name LIKE 'b%';</strong>
+--------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+------------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+
要想找出以“fy”结尾的名字:
mysql> <strong>SELECT * FROM pet WHERE name LIKE '%fy';</strong>
+--------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+--------+--------+---------+------+------------+-------+
要想找出包含“w”的名字:
mysql> <strong>SELECT * FROM pet WHERE name LIKE '%w%';</strong>
+----------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+------------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
+----------+-------+---------+------+------------+------------+
要想找出正好包含5个字符的名字,使用“_”模式字符:
mysql> <strong>SELECT * FROM pet WHERE name LIKE '_____';</strong>
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
由MySQL提供的模式匹配的其它类型是使用扩展正则表达式。当你对这类模式进行匹配测试时,使用REGEXP和NOT REGEXP操作符(或RLIKE和NOT RLIKE,它们是同义词)。
扩展正则表达式的一些字符是:
‘.'匹配任何单个的字符。
字符类“[...]”匹配在方括号内的任何字符。例如,“[abc]”匹配“a”、“b”或“c”。为了命名字符的范围,使用一个“-”。“[a-z]”匹配任何字母,而“[0-9]”匹配任何数字。
“ * ”匹配零个或多个在它前面的字符。例如,“x*”匹配任何数量的“x”字符,“[0-9]*”匹配任何数量的数字,而“.*”匹配任何数量的任何字符。
- 如果REGEXP模式与被测试值的任何地方匹配,模式就匹配(这不同于LIKE模式匹配,只有与整个值匹配,模式才匹配)。
- 为了定位一个模式以便它必须匹配被测试值的开始或结尾,在模式开始处使用“^”或在模式的结尾用“$”。
为了说明扩展正则表达式如何工作,下面使用REGEXP重写上面所示的LIKE查询:
为了找出以“b”开头的名字,使用“^”匹配名字的开始:
mysql> <strong>SELECT * FROM pet WHERE name REGEXP '^b';</strong>
+--------+--------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+------------+
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+
如果你想强制使REGEXP比较区分大小写,使用BINARY关键字使其中一个字符串变为二进制字符串。该查询只匹配名称首字母的小写‘b'。
mysql> <strong>SELECT * FROM pet WHERE name REGEXP BINARY '^b';</strong>
<strong> </strong>
为了找出以“fy”结尾的名字,使用“$”匹配名字的结尾:
mysql> <strong>SELECT * FROM pet WHERE name REGEXP 'fy$';</strong>
+--------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat | f | 1993-02-04 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+--------+--------+---------+------+------------+-------+
为了找出包含一个“w”的名字,使用以下查询:
mysql> <strong>SELECT * FROM pet WHERE name REGEXP 'w';</strong>
+----------+-------+---------+------+------------+------------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+------------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
+----------+-------+---------+------+------------+------------+
既然如果一个正则表达式出现在值的任何地方,其模式匹配了,就不必在先前的查询中在模式的两侧放置一个通配符以使得它匹配整个值,就像你使用了一个SQL模式那样。
为了找出包含正好5个字符的名字,使用“^”和“$”匹配名字的开始和结尾,和5个“.”实例在两者之间:
mysql> <strong>SELECT * FROM pet WHERE name REGEXP '^.....$';</strong>
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+
你也可以使用“{n}”“重复n次”操作符重写前面的查询:
mysql> <strong>SELECT * FROM pet WHERE name REGEXP '^.{5}$';</strong>
+-------+--------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen | cat | m | 1994-03-17 | NULL |
| Buffy | Harold | dog | f | 1989-05-13 | NULL |
+-------+--------+---------+------+------------+-------+

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Python ist als High-Level-Programmiersprache einfach zu erlernen und zu verwenden. Sobald Sie ein Python-Programm schreiben müssen, werden Sie unweigerlich auf Syntaxfehler stoßen, und Fehler in der Ausdruckssyntax kommen häufig vor. In diesem Artikel besprechen wir, wie Fehler in der Ausdruckssyntax in Python behoben werden. Fehler in der Ausdruckssyntax gehören zu den häufigsten Fehlern in Python und werden normalerweise durch eine falsche Verwendung der Syntax oder das Fehlen notwendiger Komponenten verursacht. In Python bestehen Ausdrücke normalerweise aus Zahlen, Zeichenfolgen, Variablen und Operatoren. am häufigsten

In C oder C++ hat das Komma "," unterschiedliche Verwendungszwecke. Hier erfahren wir, wie man sie nutzt. Kommas als Operatoren. Der Kommaoperator ist ein binärer Operator, der den ersten Operanden auswertet, das Ergebnis verwirft, dann den zweiten Operanden auswertet und den Wert zurückgibt. Der Kommaoperator hat in C oder C++ die niedrigste Priorität. Beispiel #include<stdio.h>intmain(){ intx=(50,60); inty=(func1(),func2());} Hier wird x 60 zugewiesen. Für die nächste Anweisung wird func1( zuerst ausgeführt

Einführung in das Schreiben von Exponentialfunktionsausdrücken in der C-Sprache und Codebeispiele. Was ist eine Exponentialfunktion? Die Exponentialfunktion ist ein häufiger Funktionstyp in der Mathematik. Sie kann in der Form f(x)=a^x ausgedrückt werden a ist die Basis und x ist der Exponent. Exponentialfunktionen werden hauptsächlich verwendet, um exponentielles Wachstum oder exponentiellen Abfall zu beschreiben. Codebeispiel einer Exponentialfunktion In der Sprache C können wir die Funktion pow() in der Mathematikbibliothek verwenden, um die Exponentialfunktion zu berechnen. Das Folgende ist ein Beispielprogramm: #include

Lambda-Ausdrücke in Java Mit der Veröffentlichung von Java 8 sind Lambda-Ausdrücke zu einem der am meisten besorgniserregenden und diskutierten Themen unter Java-Entwicklern geworden. Lambda-Ausdrücke können die mühsamen Schreibmethoden von Java-Programmierern vereinfachen und außerdem die Lesbarkeit und Wartbarkeit von Programmen verbessern. In diesem Artikel werden wir uns eingehend mit Lambda-Ausdrücken in Java befassen und wie sie ein einfacheres und intuitiveres Programmiererlebnis in Java-Code ermöglichen.

Ein Lambda-Ausdruck ist eine anonyme Funktion, die bequem zum Durchlaufen einer Sammlung verwendet werden kann. In diesem Artikel stellen wir vor, wie man Lambda-Ausdrücke zum Durchlaufen von Sammlungen verwendet, und stellen spezifische Codebeispiele bereit. In Python lautet das Syntaxformat eines Lambda-Ausdrucks wie folgt: Lambda-Parameterliste: Die Parameterliste eines Ausdrucks-Lambda-Ausdrucks kann einen oder mehrere durch Kommas getrennte Parameter enthalten. Der Ausdruck ist der Rückgabewert der Lambda-Funktion. Schauen wir uns unten ein einfaches Beispiel an

Mit der rasanten Entwicklung der Computertechnologie werden Programmiersprachen ständig aktualisiert und verbessert. Unter anderem wird PHP als häufig verwendete Webentwicklungssprache ständig innoviert und bringt neue Versionen auf den Markt. Vor kurzem hat die Veröffentlichung der PHP8.0-Version große Aufmerksamkeit erregt. Unter anderem haben die Verbesserungen des Ausnahmebehandlungsmechanismus in der neuen Version große Aufmerksamkeit erregt. Dieser Artikel konzentriert sich auf das Thema der Unterstützung von Try-Anweisungsblöcken für Ausdrücke in PHP8.0. 1. Verbesserungen im Ausnahmebehandlungsmechanismus von PHP8.0 In früheren Versionen, P

Der Lambda-Ausdruck ist, wie der Name schon sagt, eine anonyme Funktion mit dem Pfeilsymbol (->) als Kern. Es ermöglicht Ihnen, Codeblöcke als Argumente an andere Methoden zu übergeben oder sie zur späteren Verwendung in Variablen zu speichern. Die Syntax des Lambda-Ausdrucks ist prägnant und leicht zu verstehen und eignet sich sehr gut für die Verarbeitung von Datenflüssen und parallelem Rechnen. 1. Die grundlegende Syntax des Lambda-Ausdrucks Die grundlegende Syntax des Lambda-Ausdrucks lautet wie folgt: (Parameterliste) -> {Codeblock} Unter diesen sind die Parameterliste und der Codeblock optional. Wenn nur ein Parameter vorhanden ist, können die Klammern weggelassen werden. Wenn der Codeblock nur eine Zeile umfasst, können die geschweiften Klammern weggelassen werden. Der folgende Codeblock verwendet beispielsweise einen Lambda-Ausdruck, um 1 zu einer Zahl hinzuzufügen: Liste

Einführung und grundlegende Syntax von Lambda-Ausdrücken Lambda-Ausdrücke bestehen aus einer Funktionsparameterliste, einem Doppelpunkt und einem Funktionskörper. Die Liste der Funktionsparameter ist dieselbe wie die einer gewöhnlichen Funktion, und der Funktionskörper ist ein Ausdruck und keine Reihe von Anweisungen. #Beispiel: Geben Sie eine Funktion zurück, die zwei Zahlen empfängt und deren Summe zurückgibt sum=lambdax,y:x+y Anwendungsszenarien von Lambda-Ausdrücken Lambda-Ausdrücke eignen sich sehr gut für den Einsatz als Callback-Funktionen, Filterfunktionen und Mapping-Funktionen. Rückruffunktion: Eine Rückruffunktion ist eine Funktion, die innerhalb einer anderen Funktion aufgerufen wird. Lambda-Ausdrücke erleichtern das Erstellen von Rückruffunktionen, ohne deren Namen zu deklarieren. Filterfunktion: Die Filterfunktion dient zum vollständigen Herausfiltern
