Mysql Finn matchende poster med lignende

Mysql Finn matchende poster med lignende
MySQL -lignende operatør tester hvis en bestemt karakterstreng ligner mønsteret som er nevnt. Vi vil matche en del av de samlede dataene som er til stede i et segment som ikke trenger å matche nøyaktig. Vi vil binde nøkkelordet vårt med sekvensen av informasjonen som er tilgjengelig i kolonner ved å bruke Wildcard -spørring i forskjellige kombinasjoner. Mysql jokertegn er symboler som hjelper til med å samsvare med vanskelige kriterier med søkeresultater og har blitt brukt i kombinasjon med en sammenligningsoperatør kalt som eller en kontrastoperatør kalt ikke som som.

MySQL gir disse to jokertegnene for å konstruere mønstre.

  • Prosenten '%'
  • Understreken '_'

Åpne det nyinstallerte kommandolinjen.

Vi har laget en ny tabell kalt 'lærer' i vår database med forskjellige poster i den, som vist nedenfor.

>> Velg * fra data.lærer;

Mysql som med prosentvis jokertegn:

Prosentvis skilt fungerer annerledes mens du bruker forskjellige steder med alfabeter. I det første eksemplet har prosenttegnet blitt brukt på det siste stedet for mønsteret for å hente en oversikt over to kolonner, 'TeachName' og 'Emne', der emnetavnet starter med 'C'. Når vi prøver nedenfor som spørring, har vi fått resultatet nedenfor.

>> Velg TeachName, emne fra data.lærer der fag som 'C%';

Bruk av prosentvis tegnet før mønsteret betyr at mønsteret vil samsvare med den siste plasseringen av en verdi. Så vi har lett etter postene til kolonnene 'TeachName' og 'Emne' der lærernavnet som inneholder alfabetet 'A' på siste sted. Vi har funnet utdataene nedenfor.

>> Velg TeachName, emne fra data.lærer der lærenavn som '%a';

Hvis du vil søke i strengmønsteret midt i verdien, må du plassere prosentvis skilt både på start og slutt på mønsteret. Vi har søkt etter "Am" -mønsteret ligger mellom lærernes navn ved å bruke den under-uttalte spørringen.

>> Velg TeachName, emne fra data.lærer der lærenavn som '%am%';

Bruk prosentvis skilt midt i mønsteret for å søke etter en samsvarende verdi uten å vite hva som kommer midt i det. Vi har vist alle dataene relatert til lærernavnet som begynner med 'S' og slutter med 'A'.

>> Velg TeachName, emne fra data.Lærer der lærenavn som 's%a';

Mysql som med understrek '_' jokertegn:

Vi vil bruke en ny tabell kalt 'Record' for å forstå understreken Wildcard -operatøren. Wildcard understreker '_' fungerer som en karakter når det plasseres på et sted; Derfor kunne det ikke fungere for mer enn to tegn i prosent operatør gjør.

>> Velg * fra data.ta opp;

La oss hente matchende verdier mens vi plasserer understrekingen på den siste mønsterplassen. Du må definere det nøyaktige antallet tegn i det aktuelle navnet. Ellers fungerer ikke spørringen din. Vi ønsker å vise postene til 'navnet' starter med 'za', der de tre understrekene betyr at de tre siste tegnene i dette navnet kan være hva som helst, og navnet skal bestå av bare 5 tegn.

>> Velg * fra data.registrer hvor navnet som 'za___';

Plasser understrekingsoperatøren i starten av mønsteret for å søke etter verdien. Dette innebærer at starttegnene til en strengverdi kan være hva som helst. Etter at det spesifiserte tegnet er brukt, betyr prosentvis tegnet at strengverdien kan være av hvilken som helst lengde. Så når vi utfører denne spørringen, vil den returnere verdiene med forskjellige lengder.

>> Velg * fra data.registrer hvor navnet som '___ a%';

I spørringen nedenfor har vi brukt jokertegnet understrek midt i mønsteret. Dette betyr at tegnet før det siste alfabetet kan være alt annet enn det siste alfabetet må være 'A'. Prosentvis tegnet viser at strengen kan være i hvilken som helst lengde.

>> Velg * fra data.Registrer hvor navnet som '%_a';

Vi vil bruke understrekingen i starten og et hvilket som helst punkt i mønsteret mens vi søker i kolonnen 'land'. Dette viser at den andre karakteren til et mønster må være 'u'.

>> Velg * fra data.Registrer hvor landet som '_U_%';

Mysql liker med ikke operatør:

MySQL hjelper deg med å slå sammen den ikke -operatøren med lignende operatør for å identifisere en streng som ikke en gang samsvarer med en bestemt sekvens. Vi har søkt etter postene til kolonner: 'Navn', 'by' og 'land', der landsnavnet må ha 'i' alfabetet i sin streng på noen av de midterste stedene. Vi har fått tre resultater for akkurat denne spørringen.

>> Velg * fra data.Registrer hvor landet ikke liker '%I%;

Mysql som med rømningskarakterer:

Sekvensen du vil matche inkluderer ofte jokertegn, e.g., %10, 20, etc. I dette scenariet kan vi bruke rømningsklausulen til å definere et fluktsymbol slik at jokertegnsymbolet blir behandlet som en bokstavelig karakter av MySQL. Når du ikke spesifikt nevner et rømningskarakter, er Standard Escape -operatøren Backslash '\'. La oss søke etter verdiene i tabellen som har '_20' på slutten av bynavn. Du må legge til '\' som en jokertegnsfluktkarakter før '_20' fordi understrekingen i seg selv er et jokertegn. Det viser dataene fra byer som har '_20' på slutten av navnene sine. Prosentvis tegnet betyr starten på navnet kan være i hvilken som helst lengde og kan ha noen karakter.

>> Velg * fra data.Rekord der byen som '%\ _ 20';

I eksemplet nedenfor brukes '%' -tegnet ved start og slutt som en wildcard -operatør som brukt før. Det nest siste '%' -tegnet er et mønster som skal søkes, og '\' er en fluktkarakter her.

>> Velg * fra data.Registrer hvor byen som '%\ %%';

'%' -Tegnet er Wildcard -operatøren, '\' er fluktkarakteren og det siste '/' -tegnet er et mønster som skal søkes på den siste navnens stilling her.

>> Velg * fra data.Registrer hvor byen som '%\/';

Konklusjon:

Vi har gjort det med Like Clause & Wildcards, som er viktige instrumenter som hjelper til med å jakte på informasjon som samsvarer med kompliserte mønstre. Jeg håper denne guiden har hjulpet deg med å nå ditt faktiske mål om å lære som operatører og jokertegnoperatører.