Hvordan du bruker regexp i mysql?

Hvordan du bruker regexp i mysql?
MySQL har muligheten til å lagre enorme mengder strukturerte data i form av tabeller. Ofte må databaseadministratorer hente data som samsvarer med et spesifisert mønster. Regexp som er et forkortelse for Regular EksPression er en kraftig operatør som lar deg utføre komplekse strengematchende operasjoner på lagrede data i databasen.

Dette innlegget vil gi syntaksen til REGEXP -operatøren sammen med noen få eksempler for bedre forståelse av denne operatørens evne.

Forutsetninger

Til å begynne med dette innlegget, må du sørge for at MySQL er installert i systemet. Etter det kobles til MySQL Local Server ved å bruke syntaks:

mysql -u -p

Oppgi databasens brukernavn:

Du har logget deg på MySQL -serveren din.

Bruk denne kommandoen til å vise alle tilgjengelige databaser:

Vis databaser;

Velg en database der du vil jobbe ved å bruke denne syntaks:

BRUK ;

Oppgi databasenavnet, som for dette innlegget er det “Linuxhint”:

Bruk Linuxhint;

En suksessmelding vises på endringen av databasen.

Skriv inn denne kommandoen for å se alle tilgjengelige tabeller:

Bruk bord;

Alle tabellnavnene er synlige i utgangen.

Syntaks av regexp i mysql

Denne operatøren kan brukes i en "HVOR”Klausul om en“PLUKKE UT”Uttalelse for å søke etter et spesifikt mønster i tekstdataene.Syntaksen til regexp:

Velg * hvor regexp '';

Mønsteret er laget ved å bruke Wild Card -tegn som hjelper til med å utføre mønstermatching, for eksempel “$”Brukes til slutten av strengen,”^”Brukes til å matche begynnelsen av strengen,”.”Brukte til å representere en hvilken som helst enkelt karakter noen flere. La oss se noen få eksempler for å forstå regexp på en bedre måte.

Eksempel 1: Bruk REGEXP til å søke etter data som starter med et spesifikt mønster
For å søke etter en streng som begynner med spesifikke tegn, bruk tegnet “^”Etterfulgt av karakteren, la oss anta at du vil søke på poster som starter med“la”Så skriv denne kommandoen:

Velg * fra produkt der produktnavn regexp '^la';

Eksempel 2: Bruk REGEXP til å søke etter data som ender med et spesifikt mønster
For å søke etter en streng som slutter med spesifikke tegn, skriver du ut tegnene etterfulgt av "$”Karakter, la oss anta at du vil søke på poster som ender med“flasker”Så skriv denne kommandoen:

Velg * fra produktet der pakken regexp 'flasker $';

Du har hentet tabelldataene hvis "Pakke”Kolonneverdi ender med“ flasker ”.

Eksempel 3: Bruk REGEXP med ikke operatør
Du kan bruke ikke -operatøren til å hente dataene som ikke samsvarer med det spesifiserte mønsteret. La oss anta at du vil trekke ut poster uten verdiene “flasker $” av “pakke”, så skriv:

Velg * fra produktet der pakken ikke er regexp 'flasker $';

Utgangen ga ikke data som samsvarer med det spesifiserte mønsteret.

Eksempel 4: Henting av alfabetiske data fra tabell ved hjelp av regexp
La oss anta at du vil matche strengen som har store og små bokstaver i den, til og med dens start- og sluttkarakterer tilhører dette mønsteret, type:

Velg * fra produkt der pakken regexp '^[a-za-z]+$';

Eksempel 5: Henting av numeriske data fra tabell ved hjelp av regexp
La oss anta at du vil matche strengen som har “0-9” sifre i den, og den samsvarer med det gitte mønsteret, type:

Velg * fra produkt der produktnavn regexp '^[0-9].*';

La oss se et annet eksempel med "”Den inneholder et tall som representerer antall foregående forekomst, skriver kommandoen for bare å få verdiene til“Mengde”Bare med 3 sifre:

Velg * fra OrderItem hvor mengde regexp '^[0-9] 3 $';

Du er kjent med Regex -operasjonen nå og kan bruke den på en effektiv måte for å utføre strengmatching ved hjelp av et spesifisert mønster.

Konklusjon

REGEXP-operatøren i MySQL er en kraftig operatør for å utføre komplekse strengematchende operasjoner på data lagret i databasen. Enten du søker etter spesifikke tegn, ord eller mønstre, gir REGEXP -operatøren en fleksibel og effektiv måte å gjøre det.