O MySQL fornece combinação de padrões do SQL bem como na
          forma de combinação de padrões baseado nas expressões
          regulares extendidas similares àquelas usadas pelos
          utilitários Unix como o vi,
          grep e sed.
        
          A combinação de padrões SQL lhe permite você usar
          _ para coincidir qualquer caractere simples
          e % para coincidir um número arbitrário
          de caracteres (incluindo zero caracter). No MySQL, padrões
          SQL são caso insensitivo por padrão. Alguns exemplos são
          vistos abaixo. Perceba que você não usa =
          ou != quando usar padrões SQL; use os
          operadores de comparação LIKE ou
          NOT LIKE neste caso.
        
          Para encontrar nomes começando com
          ‘b’:
        
mysql> SELECT * FROM pet WHERE name LIKE "b%";
+--------+--------+---------+------+------------+------------+
| name   | owner  | species | sex  | birth      | death      |
+--------+--------+---------+------+------------+------------+
| Buffy  | Harold | dog     | f    | 1989-05-13 | NULL       |
| Bowser | Diane  | dog     | m    | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+
          Para encontrar nomes com o final 'fy':
        
mysql> SELECT * FROM pet WHERE name LIKE "%fy";
+--------+--------+---------+------+------------+-------+
| name   | owner  | species | sex  | birth      | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat     | f    | 1993-02-04 | NULL  |
| Buffy  | Harold | dog     | f    | 1989-05-13 | NULL  |
+--------+--------+---------+------+------------+-------+
          Para encontrar nomes contendo um
          ‘w’:
        
mysql> SELECT * FROM pet WHERE name LIKE "%w%";
+----------+-------+---------+------+------------+------------+
| name     | owner | species | sex  | birth      | death      |
+----------+-------+---------+------+------------+------------+
| Claws    | Gwen  | cat     | m    | 1994-03-17 | NULL       |
| Bowser   | Diane | dog     | m    | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL       |
+----------+-------+---------+------+------------+------------+
          Para encontrar nomes contendo exatamente cinco caracteres, use
          cinco instâncias do caracter
          ‘_’:
        
mysql> SELECT * FROM pet WHERE name LIKE "_____";
+-------+--------+---------+------+------------+-------+
| name  | owner  | species | sex  | birth      | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |
| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
+-------+--------+---------+------+------------+-------+
          O outro tipo de combinação de padrões fornecido pelo MySQL
          usa expressões regulares extendidas. Quando você testa por
          uma combinação para este tipo de padrão, utilize os
          operadores REGEXP e NOT
          REGEXP (ou RLIKE e NOT
          RLIKE, que são sinônimos).
        
Algumas características das expressões regulares extendidas são:
              ‘.’ combina qualquer
              caractere único
            
              Uma classe de caracteres '[...]'
              combina qualquer caractere que consta dentro dos
              colchetes. Por exemplo, '[abc]' combina
              com ‘a’,
              ‘b’, ou
              ‘c’. Para nomear uma
              sequência de caracteres utilize um traço.
              '[a-z]' combina com qualquer letra e
              '[0-9]' combina com qualquer dígito.
            
              ‘*’ combina com nenhuma ou
              mais instâncias de sua precedência. Por exemplo,
              'x*' combina com qualquer número de
              caracteres ‘x’,
              '[0-9]*' combina com qualquer número
              de dígitos e '.*' combina com qualquer
              número de qualquer coisa.
            
              Um padrão REGEXP casa com sucesso se
              ele ocorre em algum lugar no valor sendo testado. (Ele
              difere do padrão LIKE, que só obtem
              suceeso se eles combinarem com todo o valor.)
            
              Para fazer com que um padrão deva combinar com o começo
              ou o fim de um valor sendo testado, utilize
              ‘^’ no começo ou
              ‘$’ no final do padrão.
            
          Para demonstrar como expressões regulares extendidas
          funcionam, as consultas com LIKE mostradas
          acima foram reescritas abaixo usando
          REGEXP.
        
          Para encontrar nomes começando com
          ‘b’, utilize
          ‘^’ para combinar com o começo
          do nome:
        
mysql> SELECT * FROM pet WHERE name REGEXP "^b";
+--------+--------+---------+------+------------+------------+
| name   | owner  | species | sex  | birth      | death      |
+--------+--------+---------+------+------------+------------+
| Buffy  | Harold | dog     | f    | 1989-05-13 | NULL       |
| Bowser | Diane  | dog     | m    | 1989-08-31 | 1995-07-29 |
+--------+--------+---------+------+------------+------------+
          Antes da versão 3.23.4 do MySQL, REGEXP
          era caso sensitivo, e a consulta anterior não iria retornar
          nenhum registro. Neste caso, para combinar letras
          ‘b’ maiúsculas e minúsculas,
          utilize esta consulta:
        
mysql> SELECT * FROM pet WHERE name REGEXP "^[bB]";
          A partir do MySQL 3.23.4, se você realmente deseja forçar
          uma comparação REGEXP com caso sensitivo,
          utilize a palavra-chave BINARY para tornar
          uma das strings em uma string binárias. Esta consulta irá
          combinar somente com ‘b’s
          minúsculos no começo de um nome:
        
mysql> SELECT * FROM pet WHERE name REGEXP BINARY "^b";
          Para encontrar nomes finalizados com 'fy',
          utilize ‘$’ para combinar com o
          final do nome:
        
mysql> SELECT * FROM pet WHERE name REGEXP "fy$";
+--------+--------+---------+------+------------+-------+
| name   | owner  | species | sex  | birth      | death |
+--------+--------+---------+------+------------+-------+
| Fluffy | Harold | cat     | f    | 1993-02-04 | NULL  |
| Buffy  | Harold | dog     | f    | 1989-05-13 | NULL  |
+--------+--------+---------+------+------------+-------+
          Para encontrar nomes contendo um
          ‘w’, utilize esta consulta:
        
mysql> SELECT * FROM pet WHERE name REGEXP "w";
+----------+-------+---------+------+------------+------------+
| name     | owner | species | sex  | birth      | death      |
+----------+-------+---------+------+------------+------------+
| Claws    | Gwen  | cat     | m    | 1994-03-17 | NULL       |
| Bowser   | Diane | dog     | m    | 1989-08-31 | 1995-07-29 |
| Whistler | Gwen  | bird    | NULL | 1997-12-09 | NULL       |
+----------+-------+---------+------+------------+------------+
Como uma expressão regular extendida encontra padrões coincidentes se eles ocorrem em qualquer lugar no valor comparado, não é necessário utiliar, na consulta anterior, nenhum metacaracter em nenhum dos lados do padrão para fazê-lo coincidir com todo o valor, como seria feito se fosse utilizado o padrão SQL.
          Para encontrar nomes contendo exatamente cinco caracteres,
          utilize ‘^’ e
          ‘$’ para combinar com o começo
          e fim do nome e cinco instâncias de
          ‘.’ entre eles.
        
mysql> SELECT * FROM pet WHERE name REGEXP "^.....$";
+-------+--------+---------+------+------------+-------+
| name  | owner  | species | sex  | birth      | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |
| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
+-------+--------+---------+------+------------+-------+
          Você pode também escrever a consulta anterior utilizando o
          operador '{n}'
          ``repete-n-vezes'':
        
mysql> SELECT * FROM pet WHERE name REGEXP "^.{5}$";
+-------+--------+---------+------+------------+-------+
| name  | owner  | species | sex  | birth      | death |
+-------+--------+---------+------+------------+-------+
| Claws | Gwen   | cat     | m    | 1994-03-17 | NULL  |
| Buffy | Harold | dog     | f    | 1989-05-13 | NULL  |
+-------+--------+---------+------+------------+-------+
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
