..


Рекламные ссылки

Регулярные выражения в MySQL запросов

Статья, написанная Максом Босси

Внутренний двигатель MySQL имеет встроенную - в дополнение к общим операторы равенства, неравенства и подобия (подобное) - очень полезный оператор: REGEXP оператора.
Как следует из названия, оператора REGEXP использует возможности регулярных выражений для выполнения сложных поисков в нашей базе данных MySQL. Синтаксис очень прост:






 ВЫБОР имя_поля







 FROM table_name







 ГДЕ имя_поля REGEXP свободное выражение их;

 
Давайте следовать простой таблицы резюме основных персонажей и специальный синтаксис, используемый в выражении сравнения:

^ Начало строки
$ Конец строки
. Любой символ
[...] Любой из символов в скобках
[^...] Любой символ, за исключением тех, в квадратных скобках
| Отдельные строки символов или их заменителей
* Ноль или более повторений предыдущего символа или строки
+ Один или более повторений предыдущего символа или строки
{N} "N" символов или повторение предыдущей строки
{Мин, макс} Повторяет предыдущий символ или строку в несколько раз между минимальным и максимальным

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

1) Находим все имена, начинающиеся с "м"

 



 ВЫБОР ИЗ имя календарь, в котором имя REGEXP '^ т';

 
Наш запрос будет возвращать, например:
  • М ара
  • М арке
  • М ичных
  • Ilena M
2) Находим все имена, которые заканчиваются на "или"
 



 ВЫБОР ИЗ имя календарь, в котором имя REGEXP 'или $';

 
Наш запрос будет возвращать, например:
  • Или Филиппа
  • Лампы или
  • Марк и
  • Море или
  • Павел или
3) Мы находим все имена, начинающиеся с "м" и в конечном счете "или"
 



 ВЫБОР ИЗ имя календарь, в котором имя REGEXP '^ м + о $';

 
Наш запрос будет возвращать, например:
  • М дуги или
  • М ари или
4) Находим все имена, содержащие буквы "т"
 



 ВЫБОР ИЗ имя календарь, в котором «р» имя REGEXP;

 
Наш запрос будет возвращать, например:
  • R CLA
  • Но г
  • Но г сотрудничестве
  • Но я т
5) Находим все имена, которые содержат группы букв "а" или "Я"
 



 ВЫБОР ИЗ имя календарь, в котором имя REGEXP 'ма | ра »;

 
Наш запрос будет возвращать, например:
  • Я Люк
  • Но ра
  • Но RCO
  • Но я т
6) Мы находим все имена, которые не содержат буквы "м" и ""
 



 ВЫБОР ИЗ имя календарь, в котором имя REGEXP '[^ ма]';

 
Наш запрос будет возвращать, например:
  • Филипп
  • Лусио
Я оставляю читателю дальнейшей проверки потенциального оператора REGEXP, так как возможные области использования так много, и трудно обобщить в короткой статье, как это должно быть.

В той же категории ...
E-Learning
MS Access (хороший) MS Access (хороший)
Узнайте, как создавать и управлять базами данных быстро и легко. Начиная от 29 €.
MySQL (курс) MySQL (курс)
Управление с открытым исходным кодом базы данных. С 39 €.
SQL и базы данных (курс) SQL и базы данных (курс)
Создание и управление реляционными базами данных. С 39 €.
Рекламные ссылки