Wprowadzenie do znaków wieloznacznych
Znak wieloznaczny to znak lub grupa znaków, które można wyszukiwać i zamieniać w określonym ciągu. Symbole wieloznaczne są używane w zapytaniach MySQL z operatorem LIKE. Ten operator LIKE jest używany w klauzuli where zapytania MySQL. Za pomocą klauzuli where możemy wyszukać określony wzorzec dla określonej kolumny tabeli.
Przykład:
% wildcard służy do polubienia% ab znajdzie wszystkie ab w danym zestawie danych (rekordach), generując dane wyjściowe, takie jak, powyżej, obfitości, pochłaniania i tak dalej …
Dlaczego korzystamy z WildCards?
Jak dobrze znasz MySQL, mamy różne zapytania, takie jak INSERT, UPDATE, SELECT, DELETE itp. Ponieważ symbole wieloznaczne wykonują wyszukiwanie określonego wzorca, na obrazie pojawi się instrukcja SELECT wraz z klauzulą WHERE, a nie inne Zapytania MySQL. Aby ułatwić wyszukiwanie za pomocą symboli wieloznacznych, przyjrzyjmy się prostemu przykładowi artystów i jego obrazowi. Powiedzmy, że w różnych regionach świata dostępne są różne obrazy stworzone przez różnych artystów w różnych cenach. Niech nazwa bazy danych będzie wybrana przez użytkownika „search_artist”
Nazwa tabeli to artysta
Oto zapytanie, aby utworzyć tabelę „wykonawca”
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 utworzeniu tabeli wstawimy dane do tabeli
Zrzut danych dla tabeli `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');
Po wykonaniu powyższego zapytania zostanie utworzona następująca tabela
Procent
Przykład pierwszy: Teraz chcemy wiedzieć, który z artystów ma swoje malarstwo w krajach, w których nazwa kraju zaczyna się od „BA”
Zapytanie SZUKAJ przebiega w ten sposób
SELECT * FROM artist WHERE artist_country_name LIKE 'Ba%'
The result is country names starting with Ba are “Bahrain” and “Bangladesh”
Wykonanie powyższego zapytania w MySQL
Dane wyjściowe zapytania
Przykład drugi: tutaj chcemy wiedzieć, który artysta ma swoje malarstwo w krajach zawierających „al”
Rozwiązaniem jest
SELECT * FROM artist WHERE artist_country_name LIKE '%al%'
The result is country names starting with Ba are “Malaysia” and “Portugal”
Wykonanie powyższego zapytania w MySQL
Dane wyjściowe zapytania
W powyższych dwóch przykładach mamy pojedynczy symbol wieloznaczny, który jest „%”
Teraz sprawdzimy powiązane symbole wieloznaczne, takie jak symbol wieloznaczny _ (znak podkreślenia podkreślenia), słowo kluczowe escape, słowo kluczowe NOT LIKE itp.
Spójrzmy na drugi symbol wieloznaczny, którym jest _ podkreślenie symbol wieloznaczny
_ podkreślenie symbol wieloznaczny
Przykład pierwszy: Jest to również używane z instrukcją SELECT oraz klauzulą where gdzie w _ oznacza dowolny pojedynczy znak, który może być dowolny
Rozwiązaniem jestSELECT * 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
Wykonanie powyższego zapytania w MySQL
Dane wyjściowe zapytania
Przykład drugi:
Rozwiązaniem jestSELECT * FROM artist WHERE `artist_country_code` LIKE 'A_'
Wykonanie powyższego zapytania w MySQL
Dane wyjściowe powyższego zapytania
Przed nurkowaniem w trzecim symbolu wieloznacznym zobaczymy kombinację powyższych dwóch symboli wieloznacznych, kombinację symboli wieloznacznych „_” i „%”
Kombinacja symboli wieloznacznych | Znaczenie |
GDZIE artist_painiting LIKE „Mo%” | Zwraca wszystkie wartości zaczynające się od „Mo” |
GDZIE nazwa_kraju artysty LUBI '% n' | Zwraca wszystkie wartości, które kończą się na „n” |
GDZIE nazwa_kraju_OBRAZOWEGO LUBI '% da%' | Zwraca wszystkie wartości, które mają „da” w dowolnej pozycji |
GDZIE nazwa_kraju wykonawcy LIKE „_o%” | Zwraca wszystkie wartości, które mają „o” w drugiej pozycji |
GDZIE nazwa artysty LIKE „L% i” | Zwraca wszystkie wartości, które zaczynają się na „L”, a kończą na „i” |
Spójrzmy na trzeci symbol wieloznaczny, który NIE JEST JAKO symbol wieloznaczny
NIE LUBIĆ symboli wieloznacznych
Tego operatora NIE PODOBNEGO, podobnie jak innych, używa się z klauzulą where instrukcji select oraz znaku podkreślenia i procentu. Zwraca wiersze z tabeli, w których dany wzorzec nie pasuje.
Przykład pierwszy: Nie chcemy nagrań, w których malarstwo artysty ma cenę 600 USD i 650 USD
Rozwiązaniem jest :
SELECT * FROM artist WHERE `artist_painting_price` NOT LIKE '$5%'
Wykonanie powyższego zapytania w MySQL z wyjściem
Czwarta karta wieloznaczna to (lista znaków) z REGEXP
Przykład pierwszy: Chcemy, aby rekordy zawierające wszystkie znaki pasujące do wzorca występującego w nawiasie.
Rozwiązaniem jest :SELECT * FROM artist WHERE `artist_country_name` REGEXP '^(po)'
Tutaj nazwa_kraju_realizatora zawierająca grupę znaków, takich jak po, jest wynikiem dwóch rekordów zawierających tylko Portugalię i Polskę.
Wykonanie powyższego zapytania w MySQL z wyjściem
Piąty symbol zastępczy to NIE ze słowem kluczowym REGEXP
Przykład: Chcemy, aby rekordy zawierające wszystkie znaki oprócz tych, które są obecne w nawiasie.
Rozwiązaniem jest :
SELECT * FROM artist WHERE artist_country_name REGEXP '^(^po)'
Wykonanie powyższego zapytania w MySQL z wyjściem
Słowo kluczowe Escape szóstej karty wieloznacznej
Przykład pierwszy: w tym przykładzie nazwa artysty jest danymi wejściowymi, które są wyszukiwane w tabeli pod kątem określonego wzorca za pomocą słowa kluczowego Escape. Będzie to bardziej zrozumiałe w następującym przykładzie.
Rozwiązaniem jest :
SELECT * FROM artist WHERE `artist_name` LIKE '%$ Da %' ESCAPE '$'
Wykonanie powyższego zapytania w MySQL z wyjściem
Siódmy symbol wieloznaczny „|” słowo kluczowe, aby przeprowadzić wyszukiwanie na podstawie podanych alfabetów.
Przykład drugi: Chcemy zapisów, których imiona zaczynają się od znaku L lub S.
Rozwiązaniem jest :
SELECT * FROM artist WHERE `artist_painting` REGEXP '^(L|S)'
Wykonanie powyższego zapytania w MySQL z wyjściem
Wniosek - Znaki wieloznaczne
W tym temacie mamy nadzieję, że nauczyłeś się% i _ symboli wieloznacznych z przykładami. Ponadto uczysz się NIE PODOBNY operator, wyszukiwane hasło ze słowem kluczowym Escape, (lista znaków) i inne. Wszystko to zostało wyjaśnione poprzez wykonanie zapytania SELECT z klauzulą where w tabeli „artist”. Mamy nadzieję, że każdy temat stał się łatwiejszy do zrozumienia i zrozumienia.
Polecane artykuły
To był przewodnik po znakach wieloznacznych. Tutaj omówiliśmy, co to są znaki wieloznaczne, jak używać symboli wieloznacznych i jak utworzyć tabelę itp. Możesz również przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -
- Symbole wieloznaczne w SQL
- Filtry w Tableau
- Zastosowania SQL
- Funkcje ciągów T-SQL
- Funkcje wyrażenia regularnego w języku Python (przykład)