Uvod u znakove Wildcard
Zamjenski znak je lik ili skupina znakova koji se mogu pretraživati i zamijeniti u određenom zadanom nizu. Zamjenski znakovi koriste se s MySQL upitima kod operatora LIKE. Ovaj LIKE operator koristi se u klauzuli gdje MySQL upit. Pomoću gdje klauzule možemo tražiti određeni uzorak za određeni stupac tablice.
Primjer:
% zamjenski znak koristi se kao% ab pronaći će sve ab u datom skupu podataka (zapisa) koji stvaraju izlaz kao što je, iznad, obilje, apsorpcija i tako dalje …
Zašto koristimo WildCards?
Kao što ste upoznati s MySQL-om, imamo razne upite poput INSERT, UPDATE, SELECT, DELETE, itd. Budući da zamjenske značke obavljaju posao pretraživanja određenog uzorka, naredba SELECT zajedno s rečenicom WHERE upasti će u sliku umjesto drugih MySQL upiti. Da bismo olakšali pretragu s zamjenskim znakovima, pozabavimo se jednostavnim primjerom umjetnika i primjerom njegovih slika. Recimo, postoje različite slike koje su stvorili različiti umjetnici dostupne u različitim dijelovima svijeta po različitim cijenama. Neka naziv baze podataka po vašem izboru kaže "search_artist"
Ime tablice je umjetnik
Evo stvaranja upita za izradu tablice 'artist'
CREATE TABLE `artist` (
`artist_id` int(11) NOT NULL,
`artist_name` varchar(255) NOT NULL,
`artist_painting` varchar(255) NOT NULL,
`artist_country_name` varchar(255) NOT NULL,
`artist_country_code` varchar(255) NOT NULL,
`artist_painting_price` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
Nakon što je kreirana tablica, u nju ćemo umetnuti podatke
Podaci o dampingu za tablicu `artist`
INSERT INTO `artist` (`artist_id`, `artist_name`, `artist_painting`, `artist_country_name`, `artist_country_code`, `artist_painting_price`) VALUES
(1, 'Leonardo Da Vinci', 'Mona Lisa', 'Angola', 'AO', '$500'),
(2, 'Edvard Munch', 'The Scream', 'Bahrain', 'BH', '$600'),
(3, 'Sistine Chapel by Michelangelo', 'The Creation of Adam', 'Bangladesh', 'BD', '$700'),
(4, 'Vincent Van Gogh', 'Sun Flowers', 'Malaysia', 'MY', '$550'),
(5, 'Rene Magritte', 'Ceci N'est pas une Pipe', 'Madagascar', 'MG', '$850'),
(6, 'Edvard Munch', 'The Scream', 'Portugal', 'PT', '$750'),
(7, 'Leonardo Da Vinci', 'Mona Lisa', 'Poland', 'PL', '$500'),
(8, 'Claude Monet', 'Poppies in a Field', 'Vietnam', 'VN', '$650');
Nakon što izvršite gornji upit, kreirat će se sljedeća tablica
% Postotka
Primjer prvi: Sada želimo znati koji sve umjetnik koji ima svoju sliku u zemljama u kojima ime zemlje počinje s "BA"
Upit SEARCH ide ovako
SELECT * FROM artist WHERE artist_country_name LIKE 'Ba%'
The result is country names starting with Ba are “Bahrain” and “Bangladesh”
Izvršavanje gornjeg upita u MySQL-u
Izlaz upita
Primjer drugi: Ovdje želimo znati koji sve umjetnik ima svoju sliku u zemljama koje sadrže "al"
Rješenje je
SELECT * FROM artist WHERE artist_country_name LIKE '%al%'
The result is country names starting with Ba are “Malaysia” and “Portugal”
Izvršavanje gornjeg upita u MySQL-u
Izlaz upita
U gornja dva primjera, imamo jedan zamjenski znak koji je "%"
Sada ćemo provjeriti postojeće zamjenske znakove kao što su _ wildcard (nadčistački znak podvlake), ključna riječ escape, NE LIKE ključna riječ itd.
Pogledajmo drugi zamjenski znak koji je _ podvlaka s malim znakom
_ znak podvlake
Primjer prvi: Koristi se i sa stavkom SELECT, zajedno s gdje rečenica gdje u _ označava bilo koji pojedinačni znak, a koji bi mogao biti bilo što
Rješenje jeSELECT * FROM artist WHERE `artist_painting_price` LIKE '$5_0'
The result is painting price names with this pattern will give output as
$500, $550, $500 in the painting price column
Izvršavanje gornjeg upita u MySQL-u
Izlaz upita
Primjer dva:
Rješenje jeSELECT * FROM artist WHERE `artist_country_code` LIKE 'A_'
Izvršavanje gornjeg upita u MySQL-u
Izlaz gornjeg upita
Prije ronjenja na trećem zamjenskom snimku vidjet ćemo kombinaciju gore navedena dva velika znaka, kombinaciju znakova '_' i '%'
Wildcard kombinacija | Značenje |
GDJE artist_painiting LIKE 'Mo%' | Vraća sve vrijednosti koje započinju s "Mo" |
GDJE ime_izvođača_KRITNU '% n' | Vraća sve vrijednosti koje završavaju s "n" |
GDJE ime_izvođača_KAZNITE '% da%' | Vraća sve vrijednosti koje imaju "da" u bilo kojem položaju |
GDJE ime_izvođača_KRITNJU '_o%' | Vraća sve vrijednosti koje imaju "o" na drugom mjestu |
GDJE ime izvođača LIKE 'L% i' | Vraća sve vrijednosti koje počinju sa "L" i završavaju s "i" |
Pogledajmo treći zamjenski znak koji NIJE LIKE zamjenski znak
NE LIKE wildcard
Ovaj operater NOT LIKE poput ostalih koristi se s gdje je klauzula select izjave te znak podcrtavanja i postotak. Vraća retke iz tablice u kojima se navedeni uzorak ne podudara.
Primjer prvi: Ne želimo zapise u kojima slika umjetnika ima cijenu od 600 do 650 dolara
Rješenje je:
SELECT * FROM artist WHERE `artist_painting_price` NOT LIKE '$5%'
Izvršavanje gornjeg upita u MySQL-u s izlazom
Četvrti zamjenski znak je (popis znakova) s REGEXP
Primjer prvi: Želimo zapise koji sadrže sve znakove koji odgovaraju obrascu koji je prisutan u zagradi.
Rješenje je:SELECT * FROM artist WHERE `artist_country_name` REGEXP '^(po)'
Ovdje ime izvođača_naziv sadrži grupu znakova poput po rezultata u dva zapisa koji sadrže samo Portugal i Poljsku.
Izvršavanje gornjeg upita u MySQL-u s izlazom
Peti zamjenski znak je NE s REGEXP ključnom riječi
Primjer: Želimo zapise koji sadrže sve znakove osim onih znakova koji se nalaze u zagradi.
Rješenje je:
SELECT * FROM artist WHERE artist_country_name REGEXP '^(^po)'
Izvršavanje gornjeg upita u MySQL-u s izlazom
Šesta ključna riječ za bijeg
Primjer prvi: U ovom primjeru ime izvođača je ulaz koji se pretražuje u tablici za zadani uzorak pomoću ključne riječi. To će biti jasnije sa sljedećim primjerom.
Rješenje je:
SELECT * FROM artist WHERE `artist_name` LIKE '%$ Da %' ESCAPE '$'
Izvršavanje gornjeg upita u MySQL-u s izlazom
Sedmi zamjenski znak '|' ključnu riječ za pretraživanje na temelju zadanih abeceda.
Primjer dva: Želimo zapise čija imena počinju slovom L ili S
Rješenje je:
SELECT * FROM artist WHERE `artist_painting` REGEXP '^(L|S)'
Izvršavanje gornjeg upita u MySQL-u s izlazom
Zaključak - zamjenski znakovi
Uz ovu temu nadamo se da ste naučili% i _ zamjenske znakove s primjerima. Također, učite NE LIKE Operator, upit za pretraživanje s ključnom riječju bijega, (popis znakova) i drugi. Sve je ovo postalo jasno izvođenjem SELECT upita s klauzulom gdje u tablici "umjetnik". Nadam se da je svaku temu bilo lakše razumjeti i shvatiti.
Preporučeni članci
Ovo je vodič za znakove Wildcard. Ovdje smo razgovarali o tome što su zamjenski znakovi, kako koristiti zamjenske znakove i kako stvoriti tablicu itd. Također možete proći kroz naše druge predložene članke da biste saznali više -
- Zamjenski znak u SQL-u
- Filteri u Tableauu
- Upotrebe SQL-a
- Funkcije niza T-SQL-a
- Regex funkcije u Pythonu (primjer)