Úvod do zástupných znaků

Zástupný znak je znak nebo skupina znaků, které lze prohledat a nahradit v určitém daném řetězci. Zástupné znaky se používají s dotazy MySQL s operátorem LIKE. Tento operátor LIKE se používá v klauzuli where dotazu MySQL. Pomocí klauzule where můžeme vyhledat konkrétní vzorec pro konkrétní sloupec tabulky.

Příklad:

% zástupný znak se používá jako% ab najde všechny ab v dané sadě dat (záznamů) produkujících výstup jako asi, nad, hojnost, absorbent atd.…

Proč používáme karty WildCards?

Jak jste obeznámeni s MySQL, máme různé dotazy jako INSERT, UPDATE, SELECT, DELETE atd. Jelikož zástupné znaky provádějí hledání konkrétního vzoru, do obrázku se objeví příkaz SELECT spolu s klauzulí WHERE, nikoli jiné MySQL dotazy. Abychom usnadnili vyhledávání pomocí zástupných znaků, podívejme se na jednoduchý příklad umělců a jeho obrazů. Řekněme, že existují různé obrazy vytvořené různými umělci v různých částech světa za různé ceny. Nechte název databáze podle vašeho výběru říkat „search_artist“

Název tabulky je umělec

Zde je vytvoření dotazu pro vytvoření tabulky „umělec“

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 vytvoření tabulky vložíme data do tabulky

Výpis dat pro tabulku „umělec“

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 provedení výše uvedeného dotazu se vytvoří následující tabulka

Procento

Příklad 1: Nyní chceme vědět, který umělec má svůj obraz v zemích, kde název země začíná „BA“

Dotaz SEARCH vypadá takto

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

Spuštění výše uvedeného dotazu v MySQL

Výstup dotazu

Příklad 2: Chceme vědět, který umělec má svůj obraz v zemích obsahujících „al“

Řešením je

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

Spuštění výše uvedeného dotazu v MySQL

Výstup dotazu

Ve výše uvedených dvou příkladech máme jednu zástupnou kartu, která je '%'

Nyní zkontrolujeme související zástupné znaky, jako je zástupný znak _ (zástupný znak podtržítka), klíčové slovo escape, klíčové slovo NOT LIKE atd.

Podívejme se na druhý zástupný znak, kterým je _ podtržítko

_ zástupný znak podtržítka

Příklad 1: Používá se také s příkazem SELECT spolu s příkazem where, kde v _ znamená libovolný jediný znak, což by mohlo být cokoli

Řeš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

Spuštění výše uvedeného dotazu v MySQL

Výstup dotazu

Příklad 2:

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

Spuštění výše uvedeného dotazu v MySQL

Výstup výše uvedeného dotazu

Před potápěním ve třetí zástupné kartě uvidíme kombinaci výše uvedených dvou zástupných znaků, kombinaci zástupných znaků „_“ a „%“

Zástupná kombinace Význam
WHERE artist_painiting LIKE 'Mo%'Vrací všechny hodnoty, které začínají na „Mo“
WHERE artist_country_name LIKE '% n'Vrací všechny hodnoty, které končí „n“
WHERE artist_country_name LIKE '% da%'Vrátí všechny hodnoty, které mají „da“ v libovolné poloze
WHERE artist_country_name LIKE '_o%'Vrátí všechny hodnoty, které mají na druhé pozici „o“
WHERE artist_name LIKE 'L% i'Vrátí všechny hodnoty, které začínají na „L“ a končí na „i“

Podívejme se na třetí zástupný znak, který NENÍ TAKOVÝ zástupný znak

NOT LIKE wildcard

Tento operátor NOT LIKE se stejně jako ostatní používá s klauzulí select příkazu a podtržítka a zástupného procenta. Vrací řádky z tabulky, kde se daný vzor neshoduje.

Příklad 1: Nechceme záznamy, kde malba umělce má cenu 600 a 650 $

Řešením je:

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

Spuštění výše uvedeného dotazu v MySQL s výstupem

Čtvrtá zástupná karta je (seznam znaků) s REGEXP

Příklad 1: Chceme záznamy, které obsahují všechny znaky, které odpovídají vzoru přítomnému v závorce.

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

Zde jméno umělce, které obsahuje skupinu znaků jako po, je výsledkem dvou záznamů, které obsahují pouze Portugalsko a Polsko.

Spuštění výše uvedeného dotazu v MySQL s výstupem

Pátá zástupná karta je NE s klíčovým slovem REGEXP

Příklad: Chceme záznamy, které obsahují všechny znaky kromě těch znaků, které jsou přítomny v závorce.

Řešením je:

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

Spuštění výše uvedeného dotazu v MySQL s výstupem

Klíčové slovo Sixth Wildcard escape

Příklad 1: V tomto příkladu je jméno umělce vstupem, který je v tabulce vyhledán pro daný vzorec pomocí klíčového slova escape. V následujícím příkladu bude jasnější.

Řešením je:

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

Spuštění výše uvedeného dotazu v MySQL s výstupem

Sedmá zástupná karta '|' klíčové slovo pro vyhledávání na základě zadaných abeced.

Příklad 2: Chceme záznamy, jejichž křestní jména začínají znakem L nebo S

Řešením je:

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

Spuštění výše uvedeného dotazu v MySQL s výstupem

Závěr - zástupné znaky

Doufáme, že s tímto tématem jste se naučili% a _ zástupné znaky s příklady. Dozvíte se také Operátor NOT LIKE, vyhledávací dotaz s klíčovým slovem escape, (znakový seznam) a další. To vše bylo objasněno provedením SELECT dotazu s klauzulí where v tabulce „artist“. Doufejme, že každé téma bylo snazší pochopit a pochopit.

Doporučené články

Toto byl průvodce zástupnými znaky. Zde diskutujeme o tom, co jsou zástupné znaky, jak používat zástupné znaky a jak vytvořit tabulku atd. Další informace naleznete také v našich dalších navrhovaných článcích -

  1. Zástupný znak v SQL
  2. Filtry v Tableau
  3. Použití SQL
  4. Funkce řetězce T-SQL
  5. Funkce Regex v Pythonu (příklad)

Kategorie: