Uvod v nadomestne znake
Orodni znak je znak ali skupina znakov, ki jih je mogoče iskati in zamenjati v določenem nizu. Nadomestni znaki se uporabljajo pri MySQL poizvedbah pri operaterju LIKE. Ta operater LIKE se uporablja v klavzuli poizvedbe MySQL. S klavzulo kje lahko poiščemo določen vzorec za določen stolpec tabele.
Primer:
% wildcard, ki je všeč, da bo% ab našel vse ab v določenem naboru podatkov (zapisov), ki ustvarjajo izhodke, kot je približno, nad, številčnost, vpojna in tako naprej …
Zakaj uporabljamo WildCards?
Kot ste seznanjeni z MySQL, imamo različne poizvedbe, kot so INSERT, UPDATE, SELECT, DELETE itd. Ker nadomestne značke opravijo iskanje določenega vzorca, bo stavka SELECT skupaj s klavzulo WHERE prišla v sliko in ne v druge Poizvedbe MySQL Za lažje iskanje z nadomestnimi znaki si oglejmo preprost primer umetnikov in njegov primer slik. Recimo, obstajajo različne slike, ki so jih ustvarili različni umetniki, na voljo v različnih regijah sveta po različnih cenah. Naj bo po vaši izbiri ime baze podatkov: "search_artist"
Ime tabele je umetnik
Tu je ustvarjena poizvedba za ustvarjanje tabele »izvajalec«
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;
Ko je tabela ustvarjena, bomo v tabelo vstavili podatke
Podatki o dampingu za tabelo `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');
Ko izvršite zgornjo poizvedbo, bo ustvarjena naslednja tabela
% Odstotka
Prvi primer: Zdaj želimo vedeti, kateri umetnik, ki ima svoje slike v državah, kjer se ime države začne z "BA"
Poizvedba SEARCH gre takole
SELECT * FROM artist WHERE artist_country_name LIKE 'Ba%'
The result is country names starting with Ba are “Bahrain” and “Bangladesh”
Izvajanje zgornje poizvedbe v MySQL
Rezultat poizvedbe
Primer 2: Tukaj želimo vedeti, kateri umetnik ima svoje slike v državah, ki vsebujejo "al"
Rešitev je
SELECT * FROM artist WHERE artist_country_name LIKE '%al%'
The result is country names starting with Ba are “Malaysia” and “Portugal”
Izvajanje zgornje poizvedbe v MySQL
Rezultat poizvedbe
V zgornjih dveh primerih imamo eno samo nadomestno oznako, ki je "%"
Zdaj bomo preverili, ali so povezani nadomestni znaki, kot so _ nadomestni znak (podčrtani nadomestni znak), ključna beseda pobeg, ključna beseda NOT LIKE itd.
Poglejmo v drugi nadomestni znak, ki je _ podčrtani nadomestni znak
_ podčrtani nadomestni znak
Primer 1: Uporablja se tudi s stavkom SELECT, skupaj s kodo, kjer v _ pomeni en sam znak, ki je lahko karkoli
Rešitev 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
Izvajanje zgornje poizvedbe v MySQL
Rezultat poizvedbe
Primer dva:
Rešitev jeSELECT * FROM artist WHERE `artist_country_code` LIKE 'A_'
Izvajanje zgornje poizvedbe v MySQL
Rezultat zgornje poizvedbe
Pred potapljanjem v tretjem nadomestnem znaku si bomo ogledali kombinacijo zgornjih dveh znakov, kombinacijo znakov '_' in '%'
Kombinacija wildcard | Pomen |
KJE izvajalec_painiting LIKE 'Mo%' | Vrne vse vrednosti, ki se začnejo z "Mo" |
KJE je ime_izvajalke_KLI 'LIKE'% n ' | Vrne vse vrednosti, ki se končajo z »n« |
KJE izvajalec_ime_napisa_DOBO '% da%' | Vrne vse vrednosti, ki imajo "da" v katerem koli položaju |
KJE je ime_izvajalca_KLI '_o%' | Vrne vse vrednosti, ki imajo »o« v drugem položaju |
KJE je ime izvajalca LIKE 'L% i' | Vrne vse vrednosti, ki se začnejo z "L" in končajo z "i" |
Poglejmo v tretji nadomestni znak, ki NI VELIKI nadomestni znak
NE LIKE nadomestnih znakov
Ta operater NOT LIKE kot drugi se uporablja s klavzulo izjave select ter podčrtajem in nadomestnim znakom odstotka. Vrne vrstice iz tabele, kjer se dani vzorec ne ujema.
Prvi primer: Ne želimo, da ima plošča, v kateri ima slikar umetnika ceno od 600 do 650 USD
Rešitev je:
SELECT * FROM artist WHERE `artist_painting_price` NOT LIKE '$5%'
Izvajanje zgornje poizvedbe v MySQL z Output
Četrti nadomestni znak je (seznam znakov) z REGEXP
Prvi primer: Želimo, da so zapisi vsebovali vse znake, ki se ujemajo z vzorcem v oklepaju.
Rešitev je:SELECT * FROM artist WHERE `artist_country_name` REGEXP '^(po)'
Tukaj je ime izvajalca_države, ki vsebuje skupino znakov, kot so rezultati, v dva zapisa, ki vsebujeta samo Portugalsko in Poljsko.
Izvajanje zgornje poizvedbe v MySQL z Output
Peti nadomestni znak je NI s ključno besedo REGEXP
Primer: Želimo zapise, ki vsebujejo vse znake, razen tistih znakov, ki so prisotni v oklepaju.
Rešitev je:
SELECT * FROM artist WHERE artist_country_name REGEXP '^(^po)'
Izvajanje zgornje poizvedbe v MySQL z Output
Šesta ključna beseda Wildcard escape
Prvi primer: V tem primeru je ime izvajalca vhod, ki ga iščete v tabeli za dani vzorec s pomočjo ključne besede. Bolj jasno bo z naslednjim primerom.
Rešitev je:
SELECT * FROM artist WHERE `artist_name` LIKE '%$ Da %' ESCAPE '$'
Izvajanje zgornje poizvedbe v MySQL z Output
Sedmi nadomestni znak '|' ključno besedo za izvajanje iskanja na podlagi danih abeced.
Primer 2: Želimo zapise, katerih imena se začnejo z znakom L ali S
Rešitev je:
SELECT * FROM artist WHERE `artist_painting` REGEXP '^(L|S)'
Izvajanje zgornje poizvedbe v MySQL z Output
Zaključek - nadomestni znaki
S to temo upamo, da ste izvedeli% in _ nadomestne znake s primeri. Izvedete tudi operater NOT LIKE, iskalno poizvedbo s ključno besedo pobega, (seznam znakov) in druge. Vse to je bilo razjasnjeno z izvajanjem SELECT poizvedbe s klavzulo kjer na tabeli »artist«. Upajmo, da je bila vsaka tema lažja za razumevanje in razumevanje.
Priporočeni članki
To je vodnik za znake Wildcard. Tukaj smo razpravljali o tem, kaj so znaki z velikimi črkami, kako uporabljati nadomestne znake in kako ustvariti tabelo itd. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -
- Nadomestni znak v SQL
- Filtri v Tableau
- Uporaba SQL
- Funkcije nizov T-SQL
- Funkcije Regex v Pythonu (primer)