Bevezetés a helyettesítő karakterekbe
A helyettesítő karakter olyan karakter vagy karaktercsoport, amely kereshető és kicserélhető egy adott karakterláncban. A helyettesítő karaktereket a MySQL lekérdezésekhez használják a LIKE operátorral. Ezt a LIKE operátort a MySQL lekérdezés if-záradékában használják. Ahol a záradékkal kereshetünk egy adott mintát a táblázat egy adott oszlopához.
Példa:
A% helyettesítő karakter olyan szokás, hogy a% ab megtalálja az összes ab egy adott adatkészletben (rekordban), amely előállítja a kimenetet, mint fent, bőség, abszorbens stb.
Miért használjuk a vadkártyákat?
Mint ismeri a MySQL-t, különféle kérdéseink vannak, mint például INSERT, UPDATE, SELECT, DELETE, stb. Mivel a helyettesítő karakterek egy adott mintázat keresését végzik, a SELECT utasítás és a WHERE záradék együtt kerül a képbe, nem pedig más MySQL lekérdezések. A helyettesítő karakterek keresésének megkönnyítése érdekében vizsgáljuk meg a művészek és festményeinek egyszerű példáját. Mondjuk, vannak különböző festmények, amelyeket különböző művészek készítettek a világ különböző régióiban, különböző áron. Hagyja, hogy az adatbázis neve az Ön által választott legyen, mondván: „search_artist”
A táblázat neve az előadó
Itt található a lekérdezés létrehozása az 'előadó' tábla létrehozásához
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;
A táblázat létrehozása után beillesztjük az adatokat a táblázatba
A "művész" tábla dömpingelt adatai
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');
A fenti lekérdezés végrehajtása után a következő táblázat jön létre
A százalék
1. példa: Most azt akarjuk tudni, hogy melyik művész festménye azokban az országokban, ahol az ország neve „BA” -nel kezdődik
A KERESÉS lekérdezés így megy
SELECT * FROM artist WHERE artist_country_name LIKE 'Ba%'
The result is country names starting with Ba are “Bahrain” and “Bangladesh”
A fenti lekérdezés végrehajtása a MySQL alkalmazásban
A lekérdezés kimenete
Második példa: Itt szeretnénk tudni, hogy melyik művész festménye az „al” -t tartalmazó országokban
A megoldás az
SELECT * FROM artist WHERE artist_country_name LIKE '%al%'
The result is country names starting with Ba are “Malaysia” and “Portugal”
A fenti lekérdezés végrehajtása a MySQL alkalmazásban
A lekérdezés kimenete
A fenti két példában egyetlen helyettesítő karakterünk van, amely '%'
Most ellenőrizni fogjuk a kapcsolódó helyettesítő karaktereket, például a _ helyettesítő karaktert (az aláhúzás helyettesítő karaktere), a menekülési kulcsszót, a NEM tetszik kulcsszót, stb.
Nézzük meg a második helyettesítő karaktert, amely _ aláhúzás helyettesítő karakter
_ aláhúzás helyettesítő karakter
1. példa: Ezt a SELECT utasítással együtt használják, ahol a záradék a _ helyén bármely karakterre utal, ami bármi lehet
A megoldás azSELECT * 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
A fenti lekérdezés végrehajtása a MySQL alkalmazásban
A lekérdezés kimenete
Második példa:
A megoldás azSELECT * FROM artist WHERE `artist_country_code` LIKE 'A_'
A fenti lekérdezés végrehajtása a MySQL alkalmazásban
A fenti lekérdezés kimenete
A harmadik helyettesítő karakterbe merülés előtt meglátjuk a fenti két helyettesítő karakter kombinációját, a '_' és '%' helyettesítő karakterek kombinációját.
Helyettesítő karakter kombináció | Jelentés |
Ahol a művész festette LIKE 'Mo%' | Az „Mo” betűvel kezdődő összes értéket adja vissza |
WHERE előadó_ország_neve LIKE '% n' | Az „n” -nel végződő összes értéket adja vissza |
WHERE az előadó_ország_neve szereti '% da%' | Az összes olyan értéket adja vissza, amelynek bármelyik helyzetében „da” van |
WHERE előadó_ország_neve LIKE '_o%' | Az összes olyan értéket adja vissza, amelynek második pozíciójában „o” van |
Ahol az előadó_neve "L% i" | Az „L” betűvel kezdődő és „i” értékű értékeket adja vissza |
Nézzük meg a harmadik helyettesítő karaktert, amely NEM SZERETIK helyettesítő karaktert
NINCS NEM MEG a helyettesítő karakter
Ezt a NEM SZERETŐ operátort, mint mások, akkor használják, ahol a Select utasítás záradéka, valamint az aláhúzás és a százalékos helyettesítő karakter szerepel. Visszaadja azokat a sorokat a táblázatból, ahol az adott minta nem egyezik.
1. példa: Nem akarjuk azokat a lemezeket, ahol a művész festménye 600 dollár és 650 dollár áron jelenik meg
A megoldás:
SELECT * FROM artist WHERE `artist_painting_price` NOT LIKE '$5%'
A fenti lekérdezés végrehajtása a MySQL-ben a Kimenettel
A negyedik helyettesítő karakter (karakterlista) a REGEXP-vel
1. példa: Azt akarjuk, hogy a rekordok minden karaktert tartalmazzanak, amelyek megegyeznek a zárójelben szereplő mintával.
A megoldás:SELECT * FROM artist WHERE `artist_country_name` REGEXP '^(po)'
Itt az artist_country_name, amely a karakterek, például a po csoportot tartalmazza, két rekordra oszlik, amely csak Portugáliát és Lengyelországot tartalmazza.
A fenti lekérdezés végrehajtása a MySQL-ben a Kimenettel
Az ötödik helyettesítő karakter NEM a REGEXP kulcsszóval
Példa: Azt akarjuk, hogy az összes karaktert tartalmazó rekordok kivételével azokat a karaktereket tartalmazzák, amelyek a zárójelben vannak.
A megoldás:
SELECT * FROM artist WHERE artist_country_name REGEXP '^(^po)'
A fenti lekérdezés végrehajtása a MySQL-ben a Kimenettel
A hatodik helyettesítő kulcsszó
1. példa: Ebben a példában az előadó neve az a bemenet, amelyet egy táblázatban keresünk egy adott mintára egy menekülési kulcsszó segítségével. A következő példával világosabb lesz.
A megoldás:
SELECT * FROM artist WHERE `artist_name` LIKE '%$ Da %' ESCAPE '$'
A fenti lekérdezés végrehajtása a MySQL-ben a Kimenettel
A hetedik helyettesítő karakter '|' kulcsszó az adott ábécé alapján történő keresés végrehajtásához.
Második példa: Azt a rekordot akarjuk, amelynek utóneve L vagy S karakterrel kezdődik
A megoldás:
SELECT * FROM artist WHERE `artist_painting` REGEXP '^(L|S)'
A fenti lekérdezés végrehajtása a MySQL-ben a Kimenettel
Következtetés - helyettesítő karakterek
Reméljük, hogy ezzel a témával megtanulta a% és _ helyettesítő karaktereket példákkal. Emellett megtanulja a NEM SZERETŐ operátort, a menekülési kulcsszóval rendelkező keresési lekérdezést, a (karakterlistát) és mások. Mindez egyértelművé vált egy SELECT lekérdezés végrehajtásával, ahol a záradék található az “előadó” táblán. Remélhetőleg minden téma könnyebben érthető és megragadható.
Ajánlott cikkek
Ez egy útmutató a helyettesítő karakterekhez. Itt megvitattuk, hogy mi a helyettesítő karakter, a helyettesítő karakter használata, a táblázat létrehozása stb.
- Helyettesítő karakter az SQL-ben
- Szűrők a Tableau-ban
- Az SQL felhasználása
- T-SQL karakterlánc funkciók
- Regex funkciók a Pythonban (példa)