..


Sponzorirani linkovi

Redovita izraza u MySQL Query

Članak je napisao Max Bossi

Unutarnjim motorom MySQL nativno ima - uz uobičajene operatori jednakosti, nejednakosti i sličnosti (sl.) - vrlo koristan operator: operator regexp.
Kao što mu ime sugerira, regexp operater koristi snagu regularnih izraza za obavljanje složenih pretraživanja unutar naše MySQL baza podataka. Sintaksa je jednostavna:






 SELECT FIELD_NAME







 IZ table_name







 GDJE FIELD_NAME regexp izražavanja;

 
Neka je slijediti jednostavne tablice sažetka glavnih likova i posebne sintakse koji se koriste u izrazu usporedbe:

^ Početak niza
$ Kraj niza
. Bilo koji znak
[...] Bilo koja od likova u zagradama
[^...] Bilo koji znak osim onih u uglatim zagradama
| Odvojeni znakova ili nizova u mogućnosti
* Nula ili više ponavljanja prethodnog znaka ili niza
+ Jedan ili više ponavljanja prethodnog znaka ili niza
{N} "N" ponavljanja prethodnog znaka ili niza
{Min, max} Ponavlja prethodni znak ili string broj puta između minimalne i maksimalne

Mi vam nekoliko praktičnih primjera koji, kao i obično, vrijedi tisuću riječi ...
Radi jednostavnosti ćemo se odnositi na hipotetički kalendar bazu podataka koja sadrži imena naših prijatelja.

1) nalazimo sva imena počinju sa "m"

 



 SELECT ime iz kalendara gdje Naziv regexp '^ m';

 
Naš upit će vratiti, na primjer:
  • M ara
  • M luk
  • M arna
  • Ilena M
2) Mi pronaći sve imena koja završavaju s "ili"
 



 SELECT ime iz kalendara gdje Naziv regexp 'ili $ ";

 
Naš upit će vratiti, na primjer:
  • Philip ili
  • Svjetla ili
  • Marka i
  • Mora ili
  • Paul ili
3) smo pronašli sva imena počinju sa "M" i na kraju "ili"
 



 SELECT ime iz kalendara gdje Naziv regexp '^ m + ili $ ";

 
Naš upit će vratiti, na primjer:
  • M luk ili
  • M ARI ili
4) Mi smo pronašli sva imena koje sadrže slovo "R"
 



 SELECT ime iz kalendara gdje Naziv regexp 'r';

 
Naš upit će vratiti, na primjer:
  • CLA r
  • No, r
  • Ali, ko r
  • Ali ja sam r
5) smo pronašli sva imena koje sadrže slovo skupina "ali" ili "ja"
 



 SELECT ime iz kalendara gdje Naziv regexp 'ma | ra';

 
Naš upit će vratiti, na primjer:
  • Luc sam
  • Ali, ra
  • No, RCO
  • Ali ja sam r
6) Mi smo pronaći sve imena koja ne sadrže slova "m" i "a"
 



 SELECT ime iz kalendara gdje Naziv regexp '[^ no]';

 
Naš upit će vratiti, na primjer:
  • Philip
  • Lucio
Ostavljam čitatelju da dodatno testiranje potencijalnog regexp operatera, jer mogućih područja primjene su toliko i to je teško sažeti u kratkom članku kao što je to značilo da se.

U istoj kategoriji ...
E-učenje
MS Access tečaj MS Access tečaj
Saznajte kako stvoriti i upravljati bazama podataka jednostavno i brzo. Popust -10% do 2012/06/01.
Tečaj MySQL Tečaj MySQL
Upravljanje open-source baza podataka. -15% Popusta do 2012/06/01.
Tečaj Baze podataka i SQL Tečaj Baze podataka i SQL
Stvaranje i upravljanje relacijskim bazama podataka. -15% Popusta do 2012/06/01.
Sponzorirani linkovi