Знайомство з символами підстановки

Замісний символ - це символ або група символів, які можна шукати і замінювати в певній рядку. Замісні символи використовуються для запитів MySQL з оператором LIKE. Цей оператор LIKE використовується в пункті запиту MySQL. За допомогою пункту де ми можемо шукати певний зразок для певного стовпця таблиці.

Приклад:

% wildcard використовується як, щоб% ab знайде всі ab у заданому наборі даних (записів), що дають вихід, як-от, вище, достаток, абсорбент і так далі …

Чому ми використовуємо WildCards?

Як ви знайомі з MySQL, у нас є різні запити, такі як INSERT, UPDATE, SELECT, DELETE і т. Д. Оскільки макіяж виконує завдання пошуку певного шаблону, оператор SELECT разом із пунктом WHERE ввійде в зображення, а не інші MySQL запити. Щоб полегшити пошук за допомогою макетів, розглянемо простий приклад художників та приклад його картин. Скажімо, є різні картини, створені різними художниками, доступні в різних регіонах світу за різними цінами. Нехай ім'я бази даних буде на ваш вибір: "search_artist"

Назва таблиці - художник

Тут створено запит для створення таблиці "художник"

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;

Після створення таблиці ми вставимо дані в таблицю

Дамп демпінгу для таблиці `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');

Після виконання вищезазначеного запиту буде створена наступна таблиця

Відсоток%

Приклад перший: Тепер ми хочемо дізнатися, хто з усіх художників, які мають свою картину в країнах, де назва країни починається з «BA»

Запит SEARCH йде так

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

Виконання вищезазначеного запиту в MySQL

Виведення запиту

Приклад другий: Тут ми хочемо дізнатися, який художник має свою картину в країнах, що містять “al”

Рішення є

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

Виконання вищезазначеного запиту в MySQL

Виведення запиту

У вищенаведених двох прикладах ми маємо одиночну підстановку, яка є "%"

Тепер ми перевіримо наявність подібних підстановок, таких як _ wildcard (підкреслення підкреслення), ключове слово escape, НЕ ПОДОБАЙТЕ ключове слово тощо

Давайте подивимось на другу підстановку, яка є _ підкреслення підстановки

_ підкреслення підкреслення

Приклад перший: Це також використовується з оператором SELECT разом із пунктом where, де в _ означає будь-який окремий символ, який може бути будь-яким

Рішення є
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

Виконання вищезазначеного запиту в MySQL

Виведення запиту

Приклад другий:

Рішення є
SELECT * FROM artist WHERE `artist_country_code` LIKE 'A_'

Виконання вищезазначеного запиту в MySQL

Висновок вищезазначеного запиту

Перед тим як пірнати в третій підстановочний код, ми побачимо комбінацію двох вищезазначених символів, поєднання символів '_' та '%'

Комбінація підстановок Значення
ДЕ художник_панітує LIKE 'Mo%'Повертає всі значення, які починаються з "Mo"
ДЕ ІМЕНТ__ виконавця_ LIKE '% n'Повертає всі значення, які закінчуються на "n"
ДЕ ІМЕНТ виконавця_ІМЕНІ ЛИКУВАТИ '% da%'Повертає всі значення, які мають "да" в будь-якій позиції
ДЕ ІМЕНТ виконавця_КРАЇНИ ЛИКВАТИ '_o%'Повертає всі значення, які мають "o" у другій позиції
ДЕ ІМЕНТ виконавця LIKE 'L% i'Повертає всі значення, які починаються з "L" і закінчуються на "i"

Давайте розглянемо третю підстановку, яка НЕ ​​ПОДОБАЄТЬСЯ підстановку

Не подобається підстановку

Цей оператор NOT LIKE, як і інші, використовується з пунктом декларації select та підкресленням підкреслення та відсотковою ланкою. Він повертає рядки з таблиці, де даний шаблон не збігається.

Приклад перший: Ми не хочемо записів, де живопис художника має ціну 600 доларів і 650 доларів

Рішення таке:

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

Виконання вищезазначеного запиту в MySQL з Output

Четверта підстановка є (список символів) з REGEXP

Приклад перший: Ми хочемо, щоб записи містили всі символи, які відповідають шаблону, присутнього в дужці.

Рішення таке:
SELECT * FROM artist WHERE `artist_country_name` REGEXP '^(po)'

Тут ім'я artist_country_name, що містить групу символів типу po, виводить на два записи, які містять лише Португалію та Польщу.

Виконання вищезазначеного запиту в MySQL з Output

П'ятий Замісний знак - НЕ з ключовим словом REGEXP

Приклад: Ми хочемо, щоб записи, що містять усі символи, крім тих символів, які присутні в дужці.

Рішення таке:

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

Виконання вищезазначеного запиту в MySQL з Output

Шесте ключове слово втечі

Приклад перший: У цьому прикладі ім'я виконавця - це вхід, який шукається в таблиці за заданим шаблоном за допомогою ключового слова. Це буде зрозуміліше з наступного прикладу.

Рішення таке:

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

Виконання вищезазначеного запиту в MySQL з Output

Сьома відмінка '|' ключове слово для здійснення пошуку на основі заданих алфавітів.

Приклад другий: Ми хочемо записів, чиї імена починаються з символу L або S

Рішення таке:

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

Виконання вищезазначеного запиту в MySQL з Output

Висновок - символи підстановки

З цією темою ми сподіваємось, ви дізналися% та _ підстановки з прикладами. Також ви дізнаєтесь оператора NOT LIKE, пошукового запиту з ключовим словом escape, (список символів) та інші. Все це було зрозуміло, виконуючи SELECT-запит із пунктом де в таблиці "художник". Сподіваємось, кожну тему стало легше зрозуміти та зрозуміти.

Рекомендовані статті

Це було керівництвом персонажів Wildcard. Тут ми обговорили, що таке символи підстановки, як використовувати підстановку та як створити таблицю тощо. Ви також можете ознайомитись з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Підстановка в SQL
  2. Фільтри в Tableau
  3. Використання SQL
  4. Функції рядків T-SQL
  5. Функції Regex в Python (приклад)