..


Sponsede Lenker

Regular Expressions i MySQL spørring

Artikkel skrevet av Max Bossi

Den interne motoren MySQL besitter opprinnelig - i tillegg til de vanlige operatører av likhet, ulikhet og likhet (som) - en svært nyttig operatør: regexp operatør.
Som navnet antyder, bruker regexp operatør kraften av regulære uttrykk for å utføre komplekse søk innenfor vår MySQL database. Syntaksen er enkel:






 SELECT FIELD_NAME







 FRA table_name







 HVOR FIELD_NAME regexp uttrykk;

 
La oss følge en enkel oppsummering tabell over hovedpersonene og den spesielle syntaksen brukt i uttrykket for sammenligning:

^ Begynnelsen av strengen
$ Slutten av strengen
. Alle tegn
[...] Noen av karakterene i parentes
[^...] Alle tegn unntatt de i hakeparenteser
| Separate tegn eller strenger i sine alternativer
* Null eller flere repetisjoner av forrige tegn eller streng
+ En eller flere repetisjoner av forrige tegn eller streng
{N} "N" repetisjoner av forrige tegn eller streng
{Min, max} Gjentar de foregående tegn eller streng til en rekke ganger mellom minimum og maksimum

Vi gjør noen praktiske eksempler som, som vanlig, er verdt tusen ord ...
For enkelthets skyld vil vi referere til en hypotetisk kalender database som inneholder navnene til våre venner.

1) Vi finner alle navn som starter med "m"

 



 SELECT navn FROM kalender der navn regexp '^ m';

 
Våre spørringen vil returnere, for eksempel:
  • M ara
  • M bue
  • M ARY
  • Ilena M
2) Vi finner alle navnene som slutter med "eller"
 



 SELECT navn FROM kalender der navn regexp 'eller $';

 
Våre spørringen vil returnere, for eksempel:
  • Philip eller
  • Lys eller
  • Marc og
  • Seas eller
  • Paul eller
3) Vi finner alle navn som starter med "m" og til slutt "eller"
 



 SELECT navn FROM kalender der navn regexp '^ m + eller $';

 
Våre spørringen vil returnere, for eksempel:
  • M bue eller
  • M ari eller
4) Vi finner alle navn som inneholder bokstaven "r"
 



 SELECT navn FROM kalender der navn regexp 'r';

 
Våre spørringen vil returnere, for eksempel:
  • CLA r
  • Men r
  • Men co r
  • Men jeg r
5) Vi finner alle navn som inneholder bokstaven gruppene "men" eller "I"
 



 SELECT navn FROM kalender der navn regexp 'ma | ra';

 
Våre spørringen vil returnere, for eksempel:
  • Luc jeg
  • Men ra
  • Men RCO
  • Men jeg r
6) Vi finner alle navnene som ikke inneholder bokstavene "m" og "a"
 



 SELECT navn FROM kalender der navn regexp '[^ men]';

 
Våre spørringen vil returnere, for eksempel:
  • Philip
  • Lucio
Jeg lar leseren til ytterligere teste potensialet regexp operatør, siden mulige bruksområder er så mange og det er vanskelig å oppsummere i en kort artikkel som dette er ment å være.

I samme kategori ...
E-læring
MS Access (Course) MS Access (avansert)
Lær hvordan å opprette og administrere databaser enkelt og raskt. Starter fra 29 €.
MySQL (Course) MySQL (Course)
Forvaltning av open-source database. Starter fra 39 €.
SQL og Database (Course) SQL og Database (Course)
Opprette og administrere relasjonsdatabaser. Starter fra 39 €.
Sponsede Lenker