Въведение в символите на Wildcard

Уайлдкард характер е знак или група от знаци, които могат да бъдат търсени и заменени в определен даден низ. Заместващите символи се използват с 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 (символа за подчертаване), ключовата дума за бягство, НЕ като ключова дума и т.н.

Нека да разгледаме втория заместител, който е _ подчертаващ символ

_ знак за подчертаване

Пример първи: Това се използва и с оператора SELECT, заедно с където клауза където в _ означава всеки един символ, който може да бъде всичко

Решението е
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

Резултат от горната заявка

Преди да се гмуркате в третата заместваща карта ще видим комбинацията от горните две символи, комбинацията от символи '_' и '%'

Комбинация с wildcard значение
КЪДЕ artist_painiting LIKE 'Mo%'Връща всички стойности, които започват с „Mo“
WHERE artist_country_name LIKE '% n'Връща всички стойности, които завършват с „n“
WHERE artist_country_name LIKE '% da%'Връща всички стойности, които имат „да“ във всяка позиция
КЪДЕ Името на изпълнител_име LIKE '_o%'Връща всички стойности, които имат "o" във втората позиция
КЪДЕ име на изпълнител LIKE 'L% i'Връща всички стойности, които започват с „L“ и завършват с „i“

Нека да погледнем в третата заместваща карта, която НЕ Е ПОКАЗВАЩА wildcard

НЕ СЕ ОБИЧАЙТЕ wildcard

Този оператор 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)'

Тук името на изпълнителя, съдържащо групата от знаци като po резултати, се състои в два записа, които съдържат само Португалия и Полша.

Изпълнение на горната заявка в MySQL с Output

Петата подметка е НЕ с ключова дума REGEXP

Пример: Искаме записите, които съдържат всички знаци, с изключение на онези символи, които присъстват в скобата.

Решението е:

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

Изпълнение на горната заявка в MySQL с Output

Шестата ключова дума за бягство от Wildcard

Пример първи: В този пример името на изпълнителя е входът, който се търси в таблица за даден шаблон с помощта на ключова дума за бягство. Ще бъде по-ясно със следния пример.

Решението е:

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

Изпълнение на горната заявка в MySQL с Output

Седмият wildcard '|' ключова дума за извършване на търсене въз основа на дадени азбуки.

Пример втори: Искаме записите, чиито имена започват с символ L или S

Решението е:

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

Изпълнение на горната заявка в MySQL с Output

Заключение - символи Wildcard

С тази тема се надяваме, че научихте% и _ заместващи символи с примери. Също така, вие научавате НЕ ЛИКВА Оператор, заявката за търсене с ключовата дума escape, (списък със знаци) и други. Всичко това стана ясно чрез извършване на SELECT заявка с клауза където в таблицата „художник“. Да се ​​надяваме, че всяка тема стана по-лесна за разбиране и разбиране.

Препоръчителни статии

Това е ръководство за Wildcard герои. Тук сме обсъдили какво са символи за уайлдкъдър, как да използвате wildcard и как да създадете таблица и т.н. Можете също да разгледате и другите ни предложени статии, за да научите повече -

  1. Подметка в SQL
  2. Филтри в Tableau
  3. Използване на SQL
  4. T-SQL стринг функции
  5. Функции на Regex в Python (пример)