mysql like tutorial with syntax
Ten samouczek wyjaśnia dopasowywanie wzorców przy użyciu operatora MySQL LIKE:
Dopasowywanie wzorców jest ważną funkcją w prawie wszystkich językach programowania, takich jak - Java / C # / Python itp., Które głównie wykorzystują użycie wyrażeń regularnych do dopasowywania wzorców do danego ciągu wejściowego.
MySQL zapewnia łatwy w użyciu operator o nazwie LIKE, który może być użyty do dopasowania wartości String do określonych wzorców i jest przydatny do wykonywania zapytań o duże zbiory danych.
Czego się nauczysz:
JAK MySQL
Składnia:
Operator LIKE jest używany wraz z klauzulą WHERE w zapytaniu SELECT.
W prostym zapytaniu składnia wygląda jak poniżej.
SELECT {column_names} [*] FROM {table_name} WHERE {column_with_string_value} LIKE {match_pattern}
Różne składniki tej składni wyjaśniono w następujący sposób:
- {column_names}: Oto nazwy kolumn, które mają być wyświetlane jako wynik zapytania SELECT. Te wartości mogą oznaczać * w celu zaznaczenia wszystkich kolumn lub oddzielonych przecinkami nazw poszczególnych kolumn.
- {Nazwa tabeli}: To jest nazwa tabeli, w której ma zostać wykonane zapytanie.
- {column_with_string_value}: To jest kolumna, której wartości muszą być wykonane względem określonego wzorca. Należy pamiętać, że każde porównanie jest wykonywane na kolumnie, którą można przekonwertować na ciąg znaków.
- {match_pattern}: To jest wyrażenie dopasowujące, z którym należy porównać wartości kolumn. Przykładem wzorców dopasowania może być - ' SM% ”. Spowoduje to dopasowanie wszystkich wartości kolumn zaczynających się od SM. Przykład: INTELIGENTNY, ZAPACH, DYM itp.
Podobnie jak w przypadku tego zapytania, operator LIKE może być używany nawet w przypadku złożonych zapytań z JOINS itp., Ponieważ LIKE jest tylko operatorem porównania i może być używany wszędzie tam, gdzie jest możliwe porównanie wartości kolumn.
Uwaga: Podobnie jak LIKE, możemy również użyć jego zanegowanej wersji, czyli „NIE PODOBNE”. W takim przypadku zamiast zwracać pasujące wyniki, zapytania z operatorem „NIE PODOBNE” zwrócą niepasujące wyniki.
Wzorce dopasowania MySQL
LIKE Operator może być używany razem z 2 typami wzorców. Są one wymienione w poniższej tabeli:
Wzór | |
---|---|
% (Odsetek) | Dopasuj dowolną liczbę znaków (w tym żadnego znaku) |
_ (Podkreślenie) | Dopasowuje pojedynczy znak |
Teraz zobaczymy kilka przykładów wykorzystujących oba wzorce.
% Wzorca dopasowania
Wzorzec% jest używany, gdy chcesz dopasować 0 lub więcej znaków po lub przed jego umieszczeniem.
Na przykład: jeśli chcesz dopasować ciąg „it” z kolumny zawierającej nazwiska pracowników. Załóżmy, że istnieją nazwy takie jak - Amit, Anchit, Arpit, Nikita, Smith itd. Widzimy, że wszystkie nazwy mają podłańcuch „to”. Ale ich pozycja jest inna.
Załóżmy, że nazwa kolumny to nazwy a nazwa tabeli to student_names.
Użyj następujących przykładowych skryptów do tworzenia danych, aby wypełnić bazę danych:
CREATE TABLE student_names (name VARCHAR(100)); INSERT INTO student_names VALUES('Amit'),('Ankit'),('Smith'),('Nikita'),('Mohit');
Zobaczmy, jak możemy użyć wzorca dopasowania%.
SELECT * FROM student_names WHERE name LIKE '%it%'
Wynik:
Nazwa |
---|
Amit |
Ankit |
Kowal |
Nikita |
Mohit |
Oznacza to, że może dopasować ciąg, który ma podłańcuch „it” w dowolnym miejscu, a przed dopasowaniem i po nim może być dowolna liczba znaków. Możesz zobaczyć, że wszystkie pasujące nazwy są zwracane jako dane wyjściowe.
Przepisz zapytanie, aby dopasować tylko te nazwy, które kończą się podłańcuchem „to”.
SELECT * FROM student_names WHERE name LIKE '%it'
Więc tutaj usunęliśmy końcowy znak „%” i umieściliśmy ciąg „it” na końcu. Ten wzorzec dopuszczałby dowolną liczbę znaków przed „it”, ale ciąg powinien kończyć się podłańcuchem „it”.
Wynik powyższego zapytania:
Nazwa |
---|
Amit |
Ankit |
Mohit |
Uwaga: W tym miejscu należy zauważyć, że wzorzec wspomniany przy użyciu znaku „%” nie rozróżnia wielkości liter. W powyższym przykładzie zamiast „% it” moglibyśmy użyć „% IT” lub „% It”, wynik pozostałby taki sam.
_Match Pattern
Przyjrzyjmy się teraz, jak możemy użyć wzorca dopasowania „_”. Wiemy, że „_” dopuszcza dokładnie jeden znak.
Załóżmy, że chcemy odpytać wszystkie 5-literowe nazwy z tej samej tabeli (student_names).
Aby użyć dopasowania wzorca „_” w tym przypadku, określiliśmy pięć znaków _ (podkreślenia) wraz ze wzorcem LIKE, które będą pasować tylko do nazw o długości 5 znaków.
SELECT * FROM student_names WHERE name LIKE '_____'
Wynik:
Nazwa |
---|
Ankit |
Mohit |
Kowal |
Spójrzmy na inny przykład. Załóżmy, że chcemy znaleźć wszystkie pięcioliterowe nazwy, które kończą się ciągiem „to”
SELECT * FROM student_names WHERE name LIKE '___it'
Tutaj użyliśmy 3 „_” (podkreślenia) i rzeczywistego podciągu, który należy dopasować.
Wynik:
Nazwa |
---|
Ankit |
Mohit |
Kowal |
Łączenie dopasowywania wzorców% i _
W tej sekcji omówimy, jak możemy razem dopasować elementy dopasowujące wzorce% i _.
jaka jest najlepsza usługa poczty e-mail
Załóżmy, że chcemy znaleźć wszystkie nazwy, które mają podłańcuch „to” i mogą mieć dokładnie 2 znaki po słowie „to”
SELECT * FROM student_names WHERE name LIKE '%it_'
Tutaj połączyliśmy wzorce dopasowania% i _, aby znaleźć dokładne dopasowanie.
Wynik:
Nazwa |
---|
Kowal |
Nikita |
Używanie NIE PODOBNE
NOT LIKE jest dokładną negacją tego, co zwraca operator LIKE. tj. zwróci wszystkie rekordy / wiersze, które nie pasują do wyrażenia dopasowania do wzorca.
Przykład: Załóżmy, że chcemy znaleźć wszystkie nazwy, które nie mają 4 znaków.
SELECT * FROM student_names WHERE name NOT LIKE '____'
Wynik:
Nazwa |
---|
Ankit |
Kowal |
Nikita |
Mohit |
Jak widać na powyższym wyjściu, zwraca tylko te nazwy, które nie mają 4 znaków.
Używanie MySQL LIKE ze znakiem ESCAPE
Tutaj zobaczymy, jak możemy używać znaków ESCAPE wraz z dopasowywaniem wzorców.
Załóżmy, że w hipotetycznej sytuacji mamy nazwy, które w rzeczywistości zawierają% i _ znaków i chcemy znaleźć te nazwy, a następnie musimy dopasować% & _. Można to osiągnąć za pomocą postaci ucieczki.
Uwaga: Domyślna wartość znaku ucieczki to „” (ukośnik odwrotny)
Dodaj trochę danych do tabel student_names, które zawierają nazwy ze znakami% i _.
INSERT INTO student_names VALUES('Darre%n'),('Julia_Roberts'),('Dane_Sherman%');
Poniżej znajduje się kilka przykładów, aby lepiej to zrozumieć.
# 1) Znajdź wszystkie nazwy, które mają znak%.
SELECT * FROM student_names WHERE name LIKE '%\%%'
Wynik:
Nazwa |
---|
Darre% n |
Dane_Sherman% |
#dwa) Znajdź wszystkie imiona, które mają znak _
SELECT * FROM student_names WHERE name LIKE '%\_%'
Wynik:
Nazwa |
---|
Julia Roberts |
Dane_Sherman% |
W obu powyższych przykładach widać, że użyliśmy znaku ucieczki, aby wspomnieć o znakach% i _ - tj. Aby dopasować sam znak%, użyliśmy znaku ucieczki przed znakiem% - tj. Jak „\%”
Używanie własnego znaku ucieczki
Spróbujmy teraz rozszerzyć poprzedni przykład.
MySQL umożliwia określenie własnego znaku ESCAPE, którego MySQL powinien używać podczas uruchamiania wyszukiwania z dopasowaniem do wzorca.
Spróbujmy zmienić znak Escape na „!” Zamiast domyślnej wartości „”
SELECT * FROM student_names WHERE name LIKE '%!_%' ESCAPE '!'
Wynik:
Nazwa |
---|
Julia Roberts |
Dane_Sherman% |
W powyższym przykładzie zastąpiliśmy znak zmiany znaczenia na „!” I użyliśmy tego samego w dopasowywaniu wzorców „%! _%” - gdzie chcemy dopasować znak „_” w nazwie.
Często Zadawane Pytania
Pytanie 1) Co oznacza %% w SQL?
Odpowiedź: „%%” nie będzie pasować do niczego konkretnego. Odpowiada to posiadaniu 1% znaku. Jeśli chcesz dopasować sam znak „%” w wartości kolumny, możesz użyć go ze znakiem zmiany znaczenia o domyślnej wartości ”.
Załóżmy, że chcesz dopasować wartość kolumny zawierającą znak „%”, możesz zapisać dopasowanie do wzorca jako - LIKE „% %%” (zwróć uwagę na dodatkowy ukośnik odwrotny przed środkowym znakiem procentu (%).
Pytanie 2) Co to jest symbol wieloznaczny w MySQL?
Odpowiedź: MySQL LIKE Operator współpracuje z 2 znakami wieloznacznymi w MySQL, aby uzyskać różne sposoby dopasowania wzorców.
To są:
- % - Dopasowałoby to dowolną liczbę znaków (w tym zero)
- _ - To pasowałoby dokładnie do jednego znaku
Pytanie 3) Jak napisać zapytanie LIKE w MySQL?
Odpowiedź: LIKE to prosty operator, który jest zwykle używany wraz z klauzulą WHERE w zapytaniu SELECT. Służy do dopasowywania wartości kolumn do określonego wzorca.
Przykład: Załóżmy, że istnieje tabela zawierająca dane dotyczące pracowników i zawiera kolumnę o nazwie adres, która zawiera numer domu, nazwę ulicy itp. Chcesz znaleźć wszystkich pracowników, których adres jest zdefiniowany jako „Oxford Lane”.
Do napisania takiego zapytania możemy użyć operatora LIKE.
SELECT * FROM employee_details WHERE address LIKE '%Oxford Lane%'
Proszę to zanotować wzory strun są bez rozróżniania wielkości liter podczas dopasowywania do określonego wyrażenia dopasowującego.
P # 4) Jak określić inny znak ucieczki wraz z operatorem LIKE?
Odpowiedź: MySQL umożliwia określenie niestandardowego znaku Escape, który zastąpiłby domyślny, np.
Oto przykład, który zmieni znak zmiany znaczenia na „!” Podczas wykonywania zapytania.
pl sql pytania do wywiadu wraz z odpowiedziami
SELECT * FROM employee_details WHERE address LIKE '%!_%' ESCAPE '!'
W powyższym zapytaniu wspomnieliśmy „!” Jako znak zmiany znaczenia i użyliśmy tego samego w wyrażeniu dopasowującym.
P # 5) Jak dopasować rzeczywisty znak% lub _ za pomocą operatora LIKE?
Odpowiedź: Znaki, takie jak% i _, są specjalnymi znakami wieloznacznymi, które w rzeczywistości muszą zostać dopasowane jako część ciągu znaków, powinny zostać zmienione.
Domyślnym znakiem zmiany znaczenia jest „” i należy go użyć tuż przed podaniem symbolu wieloznacznego.
Załóżmy, że chcemy dopasować znak „_” do danej wartości kolumny, a następnie możemy zapisać wyrażenie dopasowujące jako - LUBIĆ '%\_%'
Wniosek
W tym samouczku dowiedzieliśmy się o różnych sposobach użycia operatora LIKE (lub wersji zanegowanej, tj. NOT LIKE).
Omówiliśmy również obsługiwane znaki wieloznaczne, tj. _ I%, oraz sposób ich zmiany znaczenia, jeśli muszą być częścią ciągu do przeszukiwania / dopasowywania.
Operator LIKE to potężna funkcja udostępniana przez MySQL i jest zwykle używana do filtrowania rekordów podczas wykonywania zapytań o duże zbiory danych.
rekomendowane lektury
- MySQL - samouczek dotyczący tworzenia widoku z przykładami kodu
- MySQL UNION - kompleksowy samouczek z przykładami Unii
- MySQL Tworzenie tabeli z przykładami
- MySQL Wstaw do tabeli - Wstaw składnię instrukcji i przykłady
- Składnia poleceń Unix Cat, opcje z przykładami
- C # Regex Tutorial: Co to jest wyrażenie regularne C #
- C ++ samouczek wyrażeń regularnych: Wyrażenia regularne w C ++ z przykładami
- Java Regex Tutorial z przykładami wyrażeń regularnych