MySQL Учебное пособие по подстановочным знакам: Нравится, НЕ Нравится, Escape, ( % ), ( _ )

Каковы MySQL Подстановочные знаки?

MySQL Wildcards это символы, которые помогают искать данные, соответствующие complex критерии. Подстановочные знаки используются вместе со сравнением LIKE. operator или со сравнением НЕ НРАВИТСЯ operaтор.

Зачем использовать WildCards?

Если вы знакомы с использованием SQL, вы можете подумать, что можете выполнить поиск по любому запросу.plex данные с использованием предложений SELECT и WHERE. Тогда зачем использовать подстановочные знаки?

Прежде чем ответить на этот вопрос, давайте рассмотрим пример. Предположим, что отдел маркетинга видеотеки Myflix провел маркетинг promoв городе Техас и хотел бы получить отзывы о количестве членов

зарегистрированный из Техаса, вы можете использовать следующую ссылкуwing Оператор SELECT вместе с предложением WHERE для получения желаемой информации.

SELECT * FROM members WHERE postal_address = 'Austin , TX' OR  postal_address = Dallas , TX OR postal_address = Iola,TX OR postal_adress = Houston ,TX';

Как вы можете видеть из приведенного выше запроса, «Предложение WHERE» становится комplex. Однако использование подстановочных знаков упрощает запрос, поскольку мы можем использовать что-то простое, например сценарий, показанный ниже.

SELECT * FROM  members  WHERE postal_address  like '% TX';

Короче говоря, подстановочные знаки позволяют нам разрабатывать мощные поисковые системы в наших приложениях, управляемых данными.

Типы подстановочных знаков

% процент

% символ процента используется для указания шаблона ноль (0) или более символов. Он имеет следующееwing базовый синтаксис.

SELECT statements... WHERE fieldname LIKE 'xxx%';

ВОТ

  • Оператор SELECT…» — это стандартная команда SQL SELECT.
  • «ГДЕ» — ключевое слово, используемое для применения фильтра.
  • «НРАВИТСЯ» — это сравнение operator, который используется в сочетании с подстановочными знаками
  • «xxx» — это любой указанный начальный шаблон, например один или несколько символов, а «%» соответствует любому количеству символов, начиная с нуля (0).

Чтобы полностью оценить приведенное выше утверждение, давайте посмотрим на практический пример.

Предположим, мы хотим получить все фильмы, в названии которых есть слово «код». Мы бы использовали подстановочный знак процента, чтобы выполнить сопоставление с шаблоном с обеих сторон слова «код». Ниже приведен оператор SQL, который можно использовать для достижения желаемых результатов.

SELECT * FROM movies WHERE title LIKE '%code%';

Выполнение приведенного выше сценария в MySQL верстак против myflixdb дает нам результаты, показанные ниже.

movie_id title director year_released category_id
4 Code Name Black Edgar Jimz 2010 NULL
7 Davinci Code NULL NULL 6

Обратите внимание: даже если ключевое слово поиска «код» появляется в начале или конце заголовка, оно все равно возвращается в наш набор результатов. Это связано с тем, что наш код включает любое количество символов в начале, а затем соответствует шаблону «код», за которым следует любое количество символов в конце.

Давайте теперь изменим наш приведенный выше сценарий, чтобы он включал подстановочный знак процента только в начале критериев поиска.

SELECT * FROM movies WHERE title LIKE '%code';

Выполнение приведенного выше сценария в MySQL рабочая среда против myflixdb дает нам результаты, показанные ниже.

movie_id title director year_released category_id
7 Davinci Code NULL NULL 6

Обратите внимание, что из базы данных возвращена только одна запись. Это связано с тем, что наш код соответствует любому количеству символов в начале названия фильма и получает только записи, заканчивающиеся шаблоном «код».

Давайте теперь shift подстановочный знак процента в конце указанного шаблона, подлежащего сопоставлению. Модифицированный скрипт показан ниже.

SELECT * FROM movies WHERE title LIKE 'code%';
Выполнение приведенного выше сценария в MySQL рабочая среда против myflixdb дает нам результаты, показанные ниже.
movie_id title director year_released category_id
4 Code Name Black Edgar Jimz 2010 NULL

Обратите внимание, что из базы данных возвращена только одна запись. Это связано с тем, что наш код соответствует всем заголовкам, которые начинаются с шаблона «код», за которым следует любое количество символов.

_ подстановочный знак подчеркивания

Подстановочный знак подчеркивания используется для соответствует ровно одному символу. Предположим, мы хотим найти все фильмы, выпущенные в 200x годах, где x — это ровно один символ, который может иметь любое значение. Для этого мы бы использовали подстановочный знак подчеркивания. В сценарии ниже выбраны все фильмы, вышедшие в году «200x».

SELECT * FROM movies WHERE year_released LIKE '200_';

Выполнение приведенного выше сценария в MySQL рабочая среда против myflixdb дает нам результаты, показанные ниже.

movie_id title director year_released category_id
2 Forgetting Sarah Marshal Nicholas Stoller 2008 2
9 Honey mooners Jhon Shultz 2005 8

Обратите внимание, что в наш набор результатов были возвращены только фильмы, у которых было 200 подписчиков любого персонажа в указанном году выпуска. Это связано с тем, что подстановочный знак подчеркивания соответствует шаблону 200, за которым следует любой одиночный символ.

Не как

НЕ логично operator можно использовать вместе с подстановочными знаками для возврата строк, не соответствующих указанному шаблону.

Предположим, мы хотим получить фильмы, которые не были выпущены в 200х году. Мы бы использовали логическое НЕ operator вместе с подстановочным знаком подчеркивания, чтобы получить результаты. Ниже приведен скрипт, который это делает.

SELECT * FROM movies WHERE year_released NOT LIKE '200_';

movie_id title director year_released category_id
1 Pirates of the Caribean 4 Rob Marshall 2011 1
4 Code Name Black Edgar Jimz 2010 NULL
8 Underworld-Awakeninh Michahel Eal 2012 6

Обратите внимание, что в наш набор результатов были возвращены только фильмы, которые не начинаются с 200 в году выпуска. Это потому, что мы использовали логическое НЕ operator в нашем поиске по шаблону подстановочных знаков.

Ключевое слово Escape

Ключевое слово ESCAPE используется для символы, соответствующие шаблону escape например, процент (%) и подчеркивание (_), если они являются частью данных.

Давайте предположим, что мы хотим проверить строку «67%», которую мы можем использовать;

LIKE '67#%%' ESCAPE '#';

Если мы хотим найти фильм «67% виновен», мы можем использовать для этого скрипт, показанный ниже.

SELECT * FROM movies WHERE title LIKE '67#%%' ESCAPE '#';

Обратите внимание double %%» в предложении LIKE, первый выделен красным «%” рассматривается как часть искомой строки. Другой используется для соответствия любому количеству следующих за ним символов.

Тот же запрос будет работать, если мы используем что-то вроде

SELECT * FROM movies WHERE title LIKE '67=%%' ESCAPE '=';

Итого

  • Мощные инструменты «Нравится» и «Подстановочные знаки», помогающие искать совпадения данных.plex узоры.
  • Существует ряд подстановочных знаков, включающих проценты, подчеркивание и список символов (не поддерживается MySQL ) среди других
  • Подстановочный знак процента используется для соответствия любому количеству символов, начиная с нуля (0) и более.
  • Подстановочный знак подчеркивания используется для соответствия ровно одному символу.