php mysql like пример
SQL, LIKE оператор
Оператор SQL LIKE
Оператор Like используется в предложении WHERE для поиска заданного шаблона в столбце.
В сочетании с оператором LIKE используются два подстановочных знака:
Примечание: MS Access использует вопросительный знак (?) вместо знака подчеркивания (_).
Знак процента и подчеркивание также могут быть использованы в комбинации!
LIKE Синтаксис
Совет: Можно также комбинировать любое количество условий с помощью операторов and или or.
Вот несколько примеров, демонстрирующих различные операторы LIKE с подстановочными знаками «%» и «_»:
LIKE Оператор | Описание |
---|---|
WHERE CustomerName LIKE ‘a%’ | Находит любые значения, которые начинаются с «a» |
WHERE CustomerName LIKE ‘%a’ | Находит любые значения, которые заканчиваются «a» |
WHERE CustomerName LIKE ‘%or%’ | Находит любые значения, которые имеют значение «or» в любом положении |
WHERE CustomerName LIKE ‘_r%’ | Находит все значения, которые имеют значение «r» во второй позиции |
WHERE CustomerName LIKE ‘a_%_%’ | Находит любые значения, которые начинаются с «a» и длиной не менее 3 символов |
WHERE ContactName LIKE ‘a%o’ | Находит любые значения, которые начинаются с «a» и заканчиваются на «o» |
Демонстрационная база данных
Ниже приведен выбор из таблицы «Customers» в образце базы данных Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Примеры в SQL
Следующая инструкция SQL выбирает всех клиентов с CustomerName, начинающейся с «a»:
Пример
Следующая инструкция SQL выбирает всех клиентов с CustomerName, заканчивающийся на «a»:
Пример
Следующая инструкция SQL выбирает всех клиентов с CustomerName, которые имеют «или» в любой позиции:
Пример
Следующая инструкция SQL выбирает всех клиентов с CustomerName, которые имеют «r» во второй позиции:
Пример
Следующая инструкция SQL выбирает всех клиентов с CustomerName, который начинается с «a» и длиной не менее 3 символов:
Пример
Следующая инструкция SQL выбирает всех клиентов с ContactName, который начинается с «a» и заканчивается на «o»:
Пример
Следующая инструкция SQL выбирает всех клиентов с CustomerName, который не начинается с «a»:
SQL Оператор LIKE
SQL LIKE
Оператор LIKE используется в предложении WHERE для поиска указанного шаблона в столбце.
Есть два подстановочных знака, часто используемых в сочетании с оператором LIKE:
Примечание: MS Access использует звездочку (*) вместо знака процента (%) и вопросительный знак (?) вместо подчеркивания (_).
Знак процента и подчеркивание также могут использоваться в комбинациях!
Синтаксис LIKE
Совет: Вы также можете комбинировать любое количество условий с помощью операторов AND или OR.
Вот несколько примеров, показывающих различные операторы LIKE с подстановочными знаками ‘%’ и ‘_’:
Оператор LIKE | Описание |
---|---|
WHERE CustomerName LIKE ‘a%’ | Находит любые значения, которые начинаются с «a» |
WHERE CustomerName LIKE ‘%a’ | Находит любые значения, которые заканчиваются на «a» |
WHERE CustomerName LIKE ‘%or%’ | Находит любые значения, которые имеют «or» в любой позиции |
WHERE CustomerName LIKE ‘_r%’ | Находит любые значения, имеющие букву «r» во второй позиции |
WHERE CustomerName LIKE ‘a__%’ | Находит любые значения, начинающиеся с буквы «a» и имеющие длину не менее 3 символов |
WHERE ContactName LIKE ‘a%o’ | Находит любые значения, которые начинаются с «a» и заканчиваются «о» |
Демо база данных
Ниже приведен выбор из таблицы «Customers» в образце базы данных Northwind:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 |
Примеры SQL LIKE
Следующая инструкция SQL выбирает всех клиентов с именем клиента, начинающимся с «a»:
Пример
Следующая инструкция SQL выбирает всех клиентов с именем клиента, оканчивающимся на «a»:
Пример
Следующая инструкция SQL выбирает всех клиентов с именем клиента, которые имеют «or» в любой позиции:
Пример
Следующая инструкция SQL выбирает всех клиентов с именем клиента, которые имеют «r» во второй позиции:
Пример
Следующая инструкция SQL выбирает всех клиентов с именем клиента, которое начинается с буквы «a» и имеет длину не менее 3 символов:
Пример
Следующая инструкция SQL выбирает всех клиентов с именем контакта, которое начинается с «a» и заканчивается на «o»
Пример
Следующая инструкция SQL выбирает всех клиентов с именем клиента, которое не начинается с «a»:
LIKE, REGEXP. Вывод данных по шаблону (маске) в MySQL
Оператор LIKE
LIKE используется для поиска записей, данные которых совпадают с заданным шаблоном.
Для создания шаблона используются два специальных символа.
Синтаксис LIKE
Шаблон LIKE | Описание |
---|---|
LIKE ‘a%’ | Значение начинается с символа «a» |
LIKE ‘%a’ | Значение заканчивается на символ «a» |
LIKE ‘%a%’ | Значение имеет символ «a» в любом месте |
LIKE ‘_a%’ | Значение имеет символ «a» на втором месте |
LIKE ‘a__’ | Значение состоит из 3 символов, первый «a» |
LIKE ‘a%d’ | Значение начинается с символа «a» и заканчивается на символ «d» |
Рассмотрим несколько примеров.
mysql> USE Bookstore;
Database changed
mysql> SELECT id, title, author, price, shelf_position FROM books;
+—-+—————————+———————+———+—————-+
| id | title | author | price | shelf_position |
+—-+—————————+———————+———+—————-+
| 1 | Дубровский (Акция) | Александр Пушкин | 230.00 | 023A12 |
| 2 | Нос (Акция) | Николай Гоголь | 255.20 | 003C05 |
| 3 | Мастер и Маргарита | Михаил Булгаков | 263.00 | 004D11 |
| 4 | Мёртвые души (Акция) | Николай Гоголь | 173.00 | 007A15 |
| 5 | Преступление и наказание | Фёдор Достоевский | 245.00 | 004E08 |
| 6 | Война и мир | Лев Толстой | 341.00 | 020F01 |
| 7 | Анна Каренина | Лев Толстой | 346.00 | 004D05 |
| 8 | Отцы и дети | Иван Тургенев | 371.00 | 001H10 |
| 9 | Собачье сердце | Михаил Булгаков | 232.00 | 006A19 |
| 10 | Бесы | Фёдор Достоевский | 212.00 | 028A03 |
+—-+—————————+———————+———+—————-+
10 rows in set (0.00 sec)
Найдем все записи с книгами, в названии которых есть слово «Акция».
mysql> SELECT id, title, author, price, shelf_position
-> FROM books
-> WHERE title LIKE ‘%Акция%’ ;
+—-+—————————+———————+———+—————-+
| id | title | author | price | shelf_position |
+—-+—————————+———————+———+—————-+
| 1 | Дубровский (Акция) | Александр Пушкин | 230.00 | 023A12 |
| 2 | Нос (Акция) | Николай Гоголь | 255.20 | 003C05 |
| 4 | Мёртвые души (Акция) | Николай Гоголь | 173.00 | 007A15 |
+—-+—————————+———————+———+—————-+
3 rows in set (0.00 sec)
mysql> SELECT id, title, author, price, shelf_position
-> FROM books
-> WHERE author NOT LIKE ‘Николай%’ ;
+—-+———————————+————————————+———+—————-+
| id | title | author | price | shelf_position |
+—-+———————————+————————————+———+—————-+
| 1 | Дубровский (Акция) | Александр Пушкин | 230.00 | 023A12 |
| 3 | Мастер и Маргарита | Михаил Булгаков | 263.00 | 004D11 |
| 5 | Преступление и наказание | Фёдор Достоевский | 245.00 | 004E08 |
| 6 | Война и мир | Лев Толстой | 341.00 | 020F01 |
| 7 | Анна Каренина | Лев Толстой | 346.00 | 004D05 |
| 8 | Отцы и дети | Иван Тургенев | 371.00 | 001H10 |
| 9 | Собачье сердце | Михаил Булгаков | 232.00 | 006A19 |
| 10 | Бесы | Фёдор Достоевский | 212.00 | 028A03 |
+—-+———————————+————————————+———+—————-+
10 rows in set (0.00 sec)
Оператор REGEXP
Синтаксис REGEXP
Ниже представлены несколько примеров использования регулярных выражений в MySQL.
Найдем все записи книг, имя автора которых начинается с букв «А» или «Л».
mysql> SELECT id, title, author, price, shelf_position
-> FROM books
-> WHERE author REGEXP ‘^(А|Л)’ ;
+—-+—————————+———————+———+—————-+
| id | title | author | price | shelf_position |
+—-+—————————+———————+———+—————-+
| 1 | Дубровский (Акция) | Александр Пушкин | 230.00 | 023A12 |
| 6 | Война и мир | Лев Толстой | 341.00 | 020F01 |
| 7 | Анна Каренина | Лев Толстой | 346.00 | 004D05 |
+—-+—————————+———————+———+—————-+
3 rows in set (0.00 sec)
Найдем все книги, в названии которых есть слово «война».
Посмотрим какие книги находятся в шкафах на 004 ряду.
mysql> SELECT id, title, author, price, shelf_position
-> FROM books
-> WHERE shelf_position REGEXP ‘^004.*’ ;
+—-+—————————+———————+———+—————-+
| id | title | author | price | shelf_position |
+—-+—————————+———————+———+—————-+
| 3 | Мастер и Маргарита | Михаил Булгаков | 263.00 | 004D11 |
| 5 | Преступление и наказание | Фёдор Достоевский | 245.00 | 004E08 |
| 7 | Анна Каренина | Лев Толстой | 346.00 | 004D05 |
+—-+—————————+———————+———+—————-+
3 rows in set (0.00 sec)
Понравилась статья? Расскажите о ней друзьям!
LIKE поиск по базе
В таблице имеется две строки и два столбца. Изображение:
Произвожу поиск по базе так:
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Поиск в ADoquery, Delphi, поиск в базе данных
Доброго времени суток многоуважаемые пользователи данного сайта! Есть очень глупая проблема, с.
Поиск в базе данных (поиск далее)
Добрый вечер! Нужна ваша помощь. Делаю поиск по базе, использую компонент AdoTable. В базе есть.
Поиск по базе
Найти номер телефона сотрудника по его фамилии и по инициалам. с коментариями. помогите.
В общем, похоже придется сделать через цикл.
1. Заносим каждое слово в массив
2. Через цикл, извлекаем по одному значению из получившегося массива и подставляем в SQL запрос.
3. Через цикл выводим найденные данные
Вот что получилось:
В этой статье:
http://www.php.su/articles/?cat=phpdb&page=015
говорится о том, что требуемые поля VARCHAR или (SMALLTEXT, MEDIUMTEXT и т.п.), в которых производится поиск, нужно сделать ключами FULLTEXT. Первый раз про такое слышу. Ребят, может в трех словах объясните как это сделать? У меня имеется такой запрос, на создание таблицы:
Спасибо. Отличные варианты. В интернете также попался такой вариант:
У меня еще один заключительный вопрос. Мы поставили на необходимые поля FULLTEXT. Теперь мы уже не используем LIKE, а используем к примеру, что-то наподобие этого:
Окей спасибо. Буду дерзать. А слова меньше трех символов, из строки я сразу выдираю. Пример:
А в принципе мне и нужен только поиск по тексту. Ничего страшного.
Добавлено через 1 час 40 минут
Ребят, выходит ошибка. Не пойму в чем дело. Что-то делаю не так. Создал таблицу таким образом:
Ищу данные в ней, таким образом:
При поиске, у меня выходят даже те результаты, где нет совпадений по искомой сроке. В чем может быть дело?
Добавлено через 22 часа 20 минут
Всем спасибо. С поиском разобрался. Правильный запрос, должен выглядеть так:
текстовую строку $s_text, заранее надо подготовить так:
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Поиск по базе
Дайте пожалуйста исходник для поиска по всей таблице DBGrid или по определённому столбцу.
поиск по базе
необходимо командой @DbLookup вытащить из текущей базы данных из view «Default» все значения.
поиск по базе
помогите сделать поиск форму я сделал нужно чтобы при вводе в верхнее поле в список выводились все.
Поиск по базе
Добрый день, форумчане. Вобщем проблема такая, нужно реализовать поиск по строкам в базе данных, но.
Оператор MySQL LIKE
Как оператор
Оператор MySQL LIKE проверяет, соответствует ли конкретная символьная строка указанному шаблону.
Синтаксис:
% используется для соответствия любому количеству символов, даже нулю символов.
_ используется для соответствия ровно одному символу.
Чтобы проверить наличие буквенных символов подстановочного знака, перед ним должен быть escape-символ. Если вы не укажете символ ESCAPE, подразумевается «/».
/% используется для соответствия одному символу «%».
/ _ Соответствует одному символу «_»
Версия MySQL: 5.6
Пример: оператор MySQL LIKE
Следующая инструкция MySQL сканирует всю таблицу авторов, чтобы найти любое имя автора, имя которого начинается с символа «W», за которым следуют любые символы.
Пример таблицы: автор
PHP скрипт
JSP скрипт
Пример: оператор MySQL LIKE, соответствующий концу
Следующая инструкция MySQL сканирует всю таблицу авторов, чтобы найти любого автора, имя которого заканчивается строкой ‘on’.
Пример таблицы: автор
Пример: оператор MySQL LIKE, соответствующий строке
Следующая инструкция MySQL сканирует всю таблицу авторов, чтобы найти любого автора, в имени которого есть строка «an». Имя автора хранится в столбце aut_name.
Пример таблицы: автор
Пример: оператор MySQL LIKE, соответствующий указанной строке
Следующее утверждение MySQL ищет всех авторов, чьи родные города, такие как «Лондон», «Лэндон» и т. Д., Подстановочный знак подчеркивания используется для упоминания одного символа.
Пример таблицы: автор
Пример: оператор MySQL LIKE, соответствующий управляющему символу
Пример таблицы: book_mast
Пример: оператор MySQL LIKE, соответствующий начальной и конечной строке
Подстановочные знаки также можно использовать в середине шаблона поиска. Следующая инструкция MySQL найдет всех авторов, чьи имена начинаются с ‘t’ и заканчиваются на ‘n’.
Пример таблицы: автор
Слайд-шоу функции сравнения MySQL и операторов