mysql like tutorial with syntax
Ovaj vodič objašnjava podudaranje uzorka pomoću operatora MySQL LIKE:
Podudaranje uzoraka važna je značajka u gotovo svim programskim jezicima poput Java / C # / Python itd. Koji uglavnom iskorištavaju upotrebu regularnih izraza za podudaranje uzoraka prema zadanom unosu niza.
MySQL nudi jednostavan operater pod nazivom LIKE, koji se može koristiti za podudaranje vrijednosti niza s određenim uzorcima i koristan je za ispitivanje velikih skupova podataka.
Što ćete naučiti:
MySQL LIKE
Sintaksa:
Operator LIKE koristi se zajedno s klauzulom WHERE u upitu SELECT.
U jednostavnom upitu sintaksa izgleda kao u nastavku.
SELECT {column_names} (*) FROM {table_name} WHERE {column_with_string_value} LIKE {match_pattern}
Različite komponente ove sintakse objašnjavaju se kako slijedi:
- {column_names}: To su nazivi stupaca koji će se prikazati kao rezultat upita SELECT. Te vrijednosti mogu biti * za odabir svih stupaca ili imena pojedinačnih stupaca odvojena zarezom.
- {ime_tabele}: Ovo je naziv tablice u kojoj treba izvršiti upit.
- {column_with_string_value}: Ovo je stupac čije vrijednosti treba izvršiti prema navedenom uzorku. Imajte na umu da se svaka usporedba vrši na stupcu koji se može pretvoriti u niz.
- {match_pattern}: Ovo je izraz podudaranja s kojim vrijednosti stupaca treba usporediti. Uzorak obrazaca podudaranja može biti - ' SM% ’. Ovo bi se podudaralo sa svim vrijednostima stupaca koji počinju sa SM. Primjer: PAMETNO, MIRIS, DIM, itd.
Slično ovom upitu, operator LIKE može se koristiti čak i sa složenim upitima s JOINS, itd. Jer je LIKE samo operator usporedbe i može se koristiti svugdje gdje je moguća usporedba vrijednosti stupca.
Bilješka: Slično LIKE, možemo se poslužiti i njegovom negiranom varijantom, a to je ‘NOT LIKE’. Dakle, u ovom će slučaju, umjesto vraćanja rezultata podudaranja, upiti s operatorom ‘NOT LIKE’ vratiti rezultate koji se ne podudaraju.
MySQL obrasci podudaranja
LIKE Operator može se koristiti zajedno s 2 vrste uzoraka. Oni su navedeni u donjoj tablici:
Uzorak | |
---|---|
% (Postotak) | Podudaranje s bilo kojim brojem znakova (uključujući nijedan znak) |
_ (Podvlaka) | Odgovara jednom liku |
Sada ćemo vidjeti nekoliko primjera koji koriste oba uzorka.
Uzorak podudaranja
Uzorak% koristi se kada želite podudarati 0 ili više znakova nakon ili prije njegovog postavljanja.
Na primjer: ako želite podudarati niz 'to' iz stupca s imenima zaposlenika. Pretpostavimo da postoje imena poput - Amit, Anchit, Arpit, Nikita, Smith, itd. Možemo vidjeti da sva imena imaju podniz 'to'. Ali njihovo je pozicioniranje drugačije.
Pretpostavimo da je naziv stupca imena a naziv tablice je imena učenika.
Upotrijebite sljedeće uzorke skripti za izradu podataka za popunjavanje baze podataka:
CREATE TABLE student_names (name VARCHAR(100)); INSERT INTO student_names VALUES('Amit'),('Ankit'),('Smith'),('Nikita'),('Mohit');
Pogledajmo kako možemo koristiti obrazac% podudaranja.
SELECT * FROM student_names WHERE name LIKE '%it%'
Izlaz:
Ime |
---|
Amit |
Ankit |
Smith |
Nikita |
Mohit |
To sada znači da se može podudarati sa nizom koji ima podniz 'it' na bilo kojem mjestu i može biti neograničen broj znakova prije i nakon podudaranja. Možete vidjeti da se sva odgovarajuća imena vraćaju kao izlaz.
Prepišite upit da se podudaraju samo ona imena koja završavaju podnizom 'it'.
SELECT * FROM student_names WHERE name LIKE '%it'
Dakle, ovdje smo uklonili prateći znak '%' i postavili niz 'it' na kraj. Ovaj obrazac dopušta bilo koji broj znakova prije 'it', ali String bi trebao završiti podstringom 'it'.
Izlaz gornjeg upita:
Ime |
---|
Amit |
Ankit |
Mohit |
Bilješka: Ovdje je važno napomenuti da obrazac naveden pomoću znaka '%' ne razlikuje velika i mala slova. Dakle, za gornji primjer, umjesto '% it' mogli smo upotrijebiti '% IT' ili '% It', izlaz bi i dalje ostao isti.
_Podudaranje uzorka
Pogledajmo sada kako možemo koristiti obrazac podudaranja ‘_’. Znamo da ‘_’ dopušta točno jedan znak.
Pretpostavimo da želimo ispitati svih 5 slova iz iste tablice (imena_učenika).
Da bismo u ovom slučaju koristili podudaranje uzoraka '_', naveli smo pet _ (podvlaka) zajedno s LIKE Pattern koji će odgovarati samo onim imenima duljine 5 znakova.
SELECT * FROM student_names WHERE name LIKE '_____'
Izlaz:
Ime |
---|
Ankit |
Mohit |
Smith |
Pogledajmo još jedan primjer. Pretpostavimo da želimo pronaći svih 5 slova koja završavaju podnizom 'it'
SELECT * FROM student_names WHERE name LIKE '___it'
Ovdje smo upotrijebili 3 ‘_’ (donje crte) i stvarni podniz koji treba uskladiti.
Izlaz:
Ime |
---|
Ankit |
Mohit |
Smith |
Kombiniranje% And _ Pattern Matcher
U ovom ćemo odjeljku razgovarati o tome kako možemo zajedno podudarati% i _ uzorke.
anime web stranice za besplatno gledanje anime na engleskom jeziku sinhronizirano
Pretpostavimo da želimo pronaći sva imena koja imaju podniz 'it' i mogu sadržavati točno 2 znaka nakon riječi 'it'
SELECT * FROM student_names WHERE name LIKE '%it_'
Ovdje smo kombinirali obrasce podudaranja% i _ kako bismo pronašli točno podudaranje.
Izlaz:
Ime |
---|
Smith |
Nikita |
Korištenje NOT LIKE
NOT LIKE je točna negacija onoga što operator LIKE vraća. tj. vratit će sve zapise / retke koji se ne podudaraju s izrazom match-match.
Primjer: Pretpostavimo da želimo pronaći sva imena koja nisu dugačka 4 znaka.
SELECT * FROM student_names WHERE name NOT LIKE '____'
Izlaz:
Ime |
---|
Ankit |
Smith |
Nikita |
Mohit |
Možete vidjeti u gornjem izlazu, vraća samo ona imena koja nisu dugačka 4 znaka.
Korištenje MySQL LIKE s ESCAPE znakom
Ovdje ćemo vidjeti kako možemo koristiti ESCAPE znakove zajedno s podudaranjem uzoraka.
Pretpostavimo da u hipotetskoj situaciji imamo imena koja zapravo sadrže znakove% i _ i želimo ih pronaći, tada se zapravo moramo podudarati s% & _. To se može postići korištenjem lika za bijeg.
Bilješka: Zadana vrijednost izlaznog znaka je '' (povratna kosa crta)
Dodajte neke podatke u tablice imena učenika koja sadrže imena s znakovima% i _.
INSERT INTO student_names VALUES('Darre%n'),('Julia_Roberts'),('Dane_Sherman%');
Ispod je nekoliko primjera kako to bolje razumjeti.
# 1) Pronađite sva imena koja imaju znak%.
SELECT * FROM student_names WHERE name LIKE '%\%%'
Izlaz:
Ime |
---|
Darre% n |
Dane_Sherman% |
#dva) Pronađite sva imena koja imaju znak _
SELECT * FROM student_names WHERE name LIKE '%\_%'
Izlaz:
Ime |
---|
Julia_Roberts |
Dane_Sherman% |
U oba gornja primjera možete vidjeti da smo koristili znak za bijeg da bismo spomenuli znakove% i _ - tj. Za podudaranje samog znaka% koristili smo znak za bijeg prije znaka% - tj. Poput '\%'
Korištenje lika za bijeg po vlastitom izboru
Pokušajmo sada proširiti prethodni primjer.
mp3 besplatna preuzimanja za android telefone
MySQL vam omogućuje da odredite vlastiti ESCAPE znak koji bi MySQL trebao koristiti tijekom pokretanja pretraživanja za podudaranje uzoraka.
Pokušajmo ažurirati znak Escape na ‘!’ Umjesto zadane vrijednosti ‘’
SELECT * FROM student_names WHERE name LIKE '%!_%' ESCAPE '!'
Izlaz:
Ime |
---|
Julia_Roberts |
Dane_Sherman% |
U gornjem primjeru nadjačali smo znak za bijeg na '!' I koristili smo isti u podudaranju uzoraka '%! _%' - gdje želimo podudarati znak '_' u imenu.
Često postavljana pitanja
P # 1) Što %% znači u SQL-u?
Odgovor: '%%' se neće podudarati s bilo čim u određenom. To je ekvivalent samo znaku od 1%. Ako želite podudarati sam znak '%' u vrijednosti stupca, možete ga koristiti s izlaznim znakom koji ima zadanu vrijednost '.
Pretpostavimo da želite podudarati vrijednost stupca koja ima znak '%', podudaranje uzorka možete napisati kao - LIKE '% %%' (primijetite dodatnu kosu crtu ispred znaka srednjeg postotka (%).
P # 2) Što je zamjenski znak u MySQL-u?
Odgovor: MySQL LIKE Operator radi s 2 zamjenska znaka u MySQL-u kako bi postigao različite načine podudaranja uzoraka.
Ovi su:
- % - Ovo bi se podudaralo s bilo kojim brojem znakova (uključujući nulu)
- _ - Ovo bi odgovaralo točno jednom liku
P # 3) Kako mogu napisati LIKE upit u MySQL?
Odgovor: LIKE je jednostavan operator koji se obično koristi zajedno s klauzulom WHERE u upitu SELECT. Koristi se za podudaranje vrijednosti stupaca s navedenim uzorkom.
Primjer: Pretpostavimo da postoji tablica koja sadrži detalje_zaposlenika i ima stupac s nazivom adresa koji sadrži kućnu adresu, naziv ulice itd. Želite saznati sve zaposlenike kojima je ulica definirana kao 'Oxford Lane' kao adresa.
Za pisanje takvog upita možemo koristiti operator LIKE.
SELECT * FROM employee_details WHERE address LIKE '%Oxford Lane%'
Imajte na umu da gudački obrasci su velika i mala slova dok se podudara s navedenim izrazom podudaranja.
P # 4) Kako odrediti drugi Escape znak zajedno s LIKE Operatorom?
Odgovor: MySQL pruža način za specificiranje prilagođenog Escape znaka koji bi nadjačao zadani, tj.
Evo primjera koji bi promijenio znak za bijeg u '!' Za izvršavanje upita.
SELECT * FROM employee_details WHERE address LIKE '%!_%' ESCAPE '!'
U gornjem upitu spomenuli smo '!' Kao znak za bijeg i koristili isti u izrazu podudaranja.
P # 5) Kako se podudara sa stvarnim znakom% ili _ pomoću operatora LIKE?
Odgovor: Znakovi poput% i _ posebni su zamjenski znakovi koji se, kad ih zapravo treba podudarati kao dio niza, trebaju izbjeći.
Zadani je izlazni znak '' i trebao bi se upotrijebiti neposredno prije spominjanja zamjenskog znaka.
Pretpostavimo da želimo upariti znak '_' s danom vrijednošću stupca, tada izraz podudaranja možemo zapisati kao - KAO '%\_%'
Zaključak
U ovom uputstvu naučili smo o različitim načinima na koje možemo koristiti operator LIKE (ili poništenu verziju, tj. NE LIKE).
Također smo razgovarali o podržanim zamjenskim znakovima, tj. _ I% i kako se mogu izbjeći ako trebaju biti dio niza koji se traži / podudara.
Operator LIKE snažna je funkcionalnost koju pruža MySQL i općenito se koristi za filtriranje zapisa tijekom ispitivanja velikih skupova podataka.
Preporučena literatura
- MySQL Vodič za stvaranje pogleda s primjerima koda
- MySQL UNION - sveobuhvatan vodič s primjerima sindikata
- MySQL Vodič za izradu tablica s primjerima
- MySQL Umetni u tablicu - Umetni sintaksu i primjere izjave
- Sintaksa naredbe Unix Cat, mogućnosti s primjerima
- Vodič za C # Regex: Što je C # regularni izraz
- Vodič za C ++ regex: Regularni izrazi u C ++ s primjerima
- Vodič za Java Regex s primjerima redovnog izraza