..


Sponsrade länkar

Reguljära uttryck i MySQL Query

Artikel skriven av Max Bossi

Den interna motorn i MySQL har infödda - utöver de vanliga operatörer av jämlikhet, ojämlikhet och likhet (som) - en mycket användbar operatör: RegExp operatör.
Som namnet antyder utnyttjar RegExp operatören kraften i reguljära uttryck för att utföra komplexa sökningar i vår MySQL-databas. Syntaxen är enkel:






 VÄLJ FIELD_NAME







 FRÅN tabellnamn







 VAR FIELD_NAME regexp uttryck;

 
Låt oss följa en enkel sammanfattande tabell över de viktigaste karaktärerna och speciell syntax som används i uttrycket för jämförelse:

^ Början av strängen
$ Slutet av strängen
. Alla tecken
[...] Någon av karaktärerna i parentes
[^...] Alla tecken utom de inom hakparenteser
| Separat teckensträngar eller deras alternativ
* Noll eller flera upprepningar av föregående tecken eller strängen
+ En eller flera upprepningar av föregående tecken eller strängen
{N} "N" karaktär eller en upprepning av den tidigare strängen
{Min, max} Upprepar föregående tecken eller sträng till ett antal gånger mellan ett lägsta och ett högsta

Vi gör några praktiska exempel som, som vanligt, är värd tusen ord ...
För enkelhetens skull kommer vi att hänvisa till en hypotetisk kalender databas som innehåller namnen på våra vänner.

1) Vi hitta alla namn som börjar med "m"

 



 SELECT namn från kalender där namn regexp '^ m ";

 
Vår fråga kommer att återvända, till exempel:
  • M ara
  • M båge
  • M Ary
  • Ilena M
2) Vi hitta alla namn som avslutas med "eller"
 



 SELECT namn från kalender där namn regexp 'eller $';

 
Vår fråga kommer att återvända, till exempel:
  • Eller Philip
  • Ljus eller
  • Marc och
  • Hav eller
  • Paul eller
3) Vi hitta alla namn som börjar med "M" och så småningom "eller"
 



 SELECT namn från kalender där namn regexp '^ m + o $';

 
Vår fråga kommer att återvända, till exempel:
  • M båge eller
  • M ari eller
4) Vi hitta alla namn som innehåller bokstaven "r"
 



 SELECT namn från kalender där namn regexp 'r';

 
Vår fråga kommer att återvända, till exempel:
  • R CLA
  • Men r
  • Men r co
  • Men jag r
5) Vi finner alla namn som innehåller grupper av bokstäver "men" eller "jag"
 



 SELECT namn från kalender där namn regexp 'ma | ra';

 
Vår fråga kommer att återvända, till exempel:
  • Jag luc
  • Men RA
  • Men RCO
  • Men jag r
6) Vi hittar alla namn som inte innehåller bokstäverna "m" och "ett"
 



 SELECT namn från kalender där namn regexp "[^ ma] ';

 
Vår fråga kommer att återvända, till exempel:
  • Philip
  • Lucio
Jag lämnar läsaren att ytterligare testa potentialen RegExp operatören, eftersom den möjliga användningsområden finns så många och det är svårt att sammanfatta i en kort artikel som det är tänkt att vara.

I samma kategori ...
E-Learning
MS Access (avancerat) MS Access (avancerat)
Lär dig skapa och hantera databaser snabbt och enkelt. Från 29 €.
MySQL (kurs) MySQL (kurs)
Hantering av öppen källkod databas. Från 39 €.
SQL och databas (kurs) SQL och databas (kurs)
Skapa och hantera relationsdatabaser. Från 39 €.
Sponsrade länkar