Найти в Дзене
Denis Live

Изучаем оператор LIKE в MySQL

Для поиска определенного значения в базе MySQL, имеются ряд возможностей с использованием SQL. Из наиболее распространенных инструментов поиска, можно назвать оператор LIKE. Данный оператор прекрасно справляется с задачами возложенными на него и позволяет искать нужных строках. Но стоит запомнить, оператор LIKE ищет строки лишь в столбцах таблиц, которые имеют тип VARCHAR или CHAR.

Предположим что у нас есть таблица avtor и данная таблица имеет два столбца, один name и второй familis. В таблицы avtor у нас хранятся имена и фамилии авторов различных книг. И так, давайте используя оператор LIKE, найдем и выберем всех авторов из нашей таблицы, фамилии которых начинаются на букву "О".

Пример кода

SELECT `familis` FROM `avtor` WHERE `familis` LIKE 'О%';

SELECT - оператор выборки, за ним идет столбец familis, из которого и происходит выборка информации. После FROM, указываем имя таблицы avtor и затем идет условный оператор WHERE, после которого прописывается условия, опираясь на которое и будет происходить выборка из таблицы. В условии мы вновь указываем имя столбца с фамилиями авторов, а затем применяем оператор LIKE с буквой "О" заключенной в кавычке.

Также обратите внимание на знак "%", после буквы. В SQL знак "%" означает не определенное количество символов. То есть в нашем примере, мы указываем что после буквы "О", может следовать любое количество различных символов, но первым символом в найденной строке должна быть "О".

Кроме знака "%", с оператором LIKE можно использовать знак "_". Знак подчеркивания действует примерно также, как и знак процента. Но он указывает на то, что после например нашей буквы "О", может идти любой один символ.

Таким образом, если в нашем примере выше заменить знак "%" на знак "_", то будут выбираться фамилии начинающиеся на букву "О", но состоящие только из двух букв. Если вам нужно выбрать фамилии состоящие из 4 символов, можно указать так LIKE 'О____', то есть 3 знака подчеркивания подряд, после буквы.