Úvod do zástupných znakov

Zástupný znak je znak alebo skupina znakov, ktoré je možné vyhľadať a nahradiť v konkrétnom reťazci. Zástupné znaky sa používajú v dotazoch MySQL s operátorom LIKE. Tento operátor LIKE sa používa v klauzule where dotazu MySQL. Pomocou klauzuly where môžeme vyhľadať konkrétny vzor pre konkrétny stĺpec tabuľky.

Príklad:

% zástupných znakov sa používa ako% ab nájde všetko ab v danom súbore údajov (záznamov) produkujúcich výstup ako asi, nad, hojnosť, absorbent atď. …

Prečo používame karty WildCards?

Ako ste oboznámení s MySQL, máme rôzne otázky ako VLOŽIŤ, AKTUALIZOVAŤ, VYBRAŤ, VYMAZAŤ atď. Pretože zástupné znaky vykonávajú úlohu vyhľadávania konkrétneho vzoru, na obrázok príde skôr príkaz SELECT spolu s klauzuliou WHERE ako iné. MySQL dotazy. Aby sme uľahčili vyhľadávanie pomocou zástupných znakov, pozrime sa na jednoduchý príklad umelcov a jeho príklady obrazov. Povedzme, že existujú rôzne obrazy od rôznych umelcov, ktoré sú k dispozícii v rôznych regiónoch sveta za rôzne ceny. Nech je názov databázy podľa vášho výberu, povedzte „search_artist“

Názov tabuľky je umelec

Tu je dotaz na vytvorenie tabuľky „umelec“

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;

Po vytvorení tabuľky vložíme údaje do tabuľky

Dumpingové údaje pre tabuľku „interpret“

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');

Po vykonaní vyššie uvedeného dotazu sa vytvorí nasledujúca tabuľka

Percentuálne percento

Príklad 1: Teraz chceme vedieť, ktorý umelec, ktorý má maľbu v krajinách, kde názov krajiny začína „BA“

Dopyt SEARCH vyzerá takto

SELECT * FROM artist WHERE artist_country_name LIKE 'Ba%'
The result is country names starting with Ba are “Bahrain” and “Bangladesh”

Vykonanie vyššie uvedeného dotazu v MySQL

Výstup dotazu

Príklad 2: Chceme vedieť, ktorý umelec má maľbu v krajinách obsahujúcich „al“.

Riešením je

SELECT * FROM artist WHERE artist_country_name LIKE '%al%'
The result is country names starting with Ba are “Malaysia” and “Portugal”

Vykonanie vyššie uvedeného dotazu v MySQL

Výstup dotazu

Vo vyššie uvedených dvoch príkladoch máme jednu zástupnú hodnotu, ktorá je „%“

Teraz skontrolujeme súvisiace zástupné znaky, ako napríklad zástupný znak _ (zástupný znak podčiarknutia), kľúčové slovo escape, kľúčové slovo NOT LIKE atď.

Pozrime sa na druhý zástupný znak, ktorý je zástupným znakom podčiarknutia

_ zástupný znak podčiarknutia

Príklad 1: Používa sa to aj v prípade príkazu SELECT spolu s klauzulami where, kde v _ predstavuje ľubovoľný jediný znak, ktorým môže byť čokoľvek

Riešením je
SELECT * 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

Vykonanie vyššie uvedeného dotazu v MySQL

Výstup dotazu

Príklad 2:

Riešením je
SELECT * FROM artist WHERE `artist_country_code` LIKE 'A_'

Vykonanie vyššie uvedeného dotazu v MySQL

Výstup z vyššie uvedeného dotazu

Pred potápaním v tretej zástupnej skupine uvidíme kombináciu vyššie uvedených dvoch zástupných znakov, kombináciu zástupných znakov „_“ a „%“.

Kombinácia zástupných znakov zmysel
WHERE artist_painiting LIKE 'Mo%'Vráti všetky hodnoty, ktoré začínajú na „Mo“
WHERE artist_country_name LIKE '% n'Vráti všetky hodnoty, ktoré končia na „n“
WHERE artist_country_name LIKE '% da%'Vráti všetky hodnoty, ktoré majú „da“ v akejkoľvek polohe
WHERE artist_country_name LIKE '_o%'Vráti všetky hodnoty, ktoré majú na druhej pozícii „o“
KDE sa meno umelca LIKE 'L% i'Vráti všetky hodnoty, ktoré začínajú na „L“ a končia na „i“.

Pozrime sa na tretiu zástupnú kartu, ktorá NIE JE LÍSTKA

NEDOSTATO zástupný znak

Tento operátor NOT LIKE, podobne ako ostatní, sa používa v prípade klauzuly príkazu select a znaku podčiarknutia a percenta. Vracia riadky z tabuľky, kde sa daný vzor nezhoduje.

Príklad 1: Nechceme záznamy, v ktorých má umelecký obraz cenu 600 dolárov a 650 dolárov

Riešením je:

SELECT * FROM artist WHERE `artist_painting_price` NOT LIKE '$5%'

Vykonanie vyššie uvedeného dotazu v MySQL s výstupom

Štvrtá zástupná karta je (zoznam znakov) s programom REGEXP

Príklad 1: Chceme záznamy, ktoré obsahujú všetky znaky, ktoré zodpovedajú vzoru v zátvorke.

Riešením je:
SELECT * FROM artist WHERE `artist_country_name` REGEXP '^(po)'

Tu meno umelca_priemysel, ktoré obsahuje skupinu znakov ako po, vedie k dvom záznamom, ktoré obsahujú iba Portugalsko a Poľsko.

Vykonanie vyššie uvedeného dotazu v MySQL s výstupom

Piata zástupná karta je NIE s kľúčovým slovom REGEXP

Príklad: Chceme záznamy, ktoré obsahujú všetky znaky okrem tých, ktoré sú v zátvorke.

Riešením je:

SELECT * FROM artist WHERE artist_country_name REGEXP '^(^po)'

Vykonanie vyššie uvedeného dotazu v MySQL s výstupom

Kľúčové slovo Sixth Wildcard escape

Príklad 1: V tomto príklade je meno interpreta vstupom, ktorý sa v tabuľke vyhľadáva pre daný vzor pomocou kľúčového slova escape. V nasledujúcom príklade bude jasnejšie.

Riešením je:

SELECT * FROM artist WHERE `artist_name` LIKE '%$ Da %' ESCAPE '$'

Vykonanie vyššie uvedeného dotazu v MySQL s výstupom

Siedma zástupná karta „|“ kľúčové slovo na vykonanie vyhľadávania na základe daných abeced.

Príklad 2: Chceme záznamy, ktorých krstné mená začínajú znakom L alebo S

Riešením je:

SELECT * FROM artist WHERE `artist_painting` REGEXP '^(L|S)'

Vykonanie vyššie uvedeného dotazu v MySQL s výstupom

Záver - zástupné znaky

S touto témou dúfame, že ste sa naučili% a _ zástupné znaky s príkladmi. Dozviete sa tiež operátor NOT LIKE, vyhľadávací dotaz s kľúčovým slovom escape, (Characterlist) a ďalšie. Toto všetko bolo objasnené vykonaním SELECT dotazu s klauzulkou where v tabuľke „artist“. Dúfajme, že každá téma sa ľahšie pochopila a pochopila.

Odporúčané články

Toto bol sprievodca Wildcard Characters. Tu diskutujeme o tom, čo sú zástupné znaky, ako používať zástupné znaky a ako vytvoriť tabuľku atď. Ďalšie informácie nájdete aj v ďalších navrhovaných článkoch -

  1. Zástupný znak v SQL
  2. Filtre v Tableau
  3. Použitie SQL
  4. Funkcie reťazca T-SQL
  5. Funkcie regulárnych výrazov v Pythone (príklad)

Kategórie: