33 Stimmen

MySQL: Reguläre Ausdrücke in MySQL-Abfragen

Info von Sledge | 26.05.2012 um 23:54

Was viele nicht wissen: Auch in MySQL-Abfragen kann man reguläre Ausdrücke verwenden. Ich bin selbst immer wieder darüber erstaunt, was mit MySQL alles möglich ist.

Hier mal ein Beispiel dazu, wie man einen regulären Ausdruck in einer MySQL Abfrage anwendet:

SELECT * FROM tabelle WHERE vorname REGEXP '^A';
SELECT * FROM tabelle WHERE vorname NOT REGEXP '^(A|B|C)';
SELECT * FROM tabelle WHERE nummer REGEXP '[1-5]';
SELECT * FROM tabelle WHERE nummer REGEXP '^[0-9]{5}$';

Die erste Zeile sucht alle Datensätze, in denen der Wert der Spalte "vorname" mit einem "A" beginnt. Die nächste Abfrage findet alle Datensätze, deren Wert in der Spalte "vorname" nicht mit "A", "B" oder "C" beginnt. Die Abfrage in der dritten Zeile sucht nach allen Datensätzen, die in der Spalte "nummer" eine 1, 2, 3, 4, oder 5 haben und die letzte Anweisung sucht nach allen Datensätzen, deren Spalte Nummer einen 5-stelligen Wert bestehend aus den Ziffern 0 bis 9 enthält.

Wie man sieht kann man die für reguläre Ausdrücke allgemein üblichen Formulierungen verwenden und so noch gezielter nach bestimmten Daten in der MySQL-Datenbank suchen.

Warnung

Bei der Anwendung von regulären Ausdrücken in MySQL ist Vorsicht geboten. Sie gehen ziemlich auf die Performance, da stets ziemlich viel gerechnet wird und auch keine Indices bei der Suche benutzt werden können. Das sollte man immer im Hinterkopf bei der Anwendung haben.

AntwortenPositivNegativ

Über den Autor

AvatarDer Autor hat keine Kurzbeschreibung seines Profils angegeben.
Profil anzeigen

 

Ähnliche Themen

PHP: Zeit und Performance messen

Tutorial | 0 Kommentare

Wichtiger Hinweis

Bitte beachten Sie: Die Beiträge auf askingbox.de sind Beiträge von Nutzern und sollen keine professionelle Beratung ersetzen. Sie werden nicht von Unabhängigen geprüft und spiegeln nicht zwingend die Meinung von askingbox.de wieder. Mehr erfahren.

Jetzt mitmachen

Stellen Sie Ihre eigene Frage oder schreiben Sie Ihren eigenen Artikel auf askingbox.de. So gehts.