English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Cláusula LIKE do MySQL

Sabemos que no MySQL, usamos o comando SQL SELECT para ler dados Ao mesmo tempo, podemos usar a cláusula WHERE no comando SELECT para obter registros específicos.

Na cláusula WHERE, você pode usar o sinal de igual = para definir condições de obtenção de dados, como "w3codebox_author = 'oldtoolbag.com".

Mas às vezes precisamos obter w3O campo codebox_author contém todos os registros com "COM", neste caso, precisamos usar a cláusula SQL LIKE na cláusula WHERE.

Na cláusula LIKE do SQL, o caractere % representa qualquer caractere, semelhante ao asterisco em UNIX ou expressões regulares. *.

Se não usar o percentual %, a cláusula LIKE tem o mesmo efeito que o sinal de igual =.

Sintaxe

A seguir está a sintaxe comum do comando SQL SELECT que usa a cláusula LIKE para ler dados da tabela:

SELECT campo1, campo2,...campoN 
FROM nome_da_tabela
WHERE campo1 LIKE condição1 [AND [OR]] campo2 = 'somevalue'
  • Você pode especificar qualquer condição na cláusula WHERE.

  • Você pode usar a cláusula LIKE na cláusula WHERE.

  • Você pode usar a cláusula LIKE em vez do sinal de igual =.

  • LIKE geralmente é usado com %, semelhante a uma busca com caractere curinga.

  • Você pode usar AND ou OR para especificar uma ou mais condições.

  • Você pode usar a cláusula WHERE...LIKE nos comandos DELETE ou UPDATE para especificar condições.

Usar a cláusula LIKE no prompt de comando

A seguir, usaremos a cláusula WHERE...LIKE no comando SQL SELECT para obter dados da tabela w3ler dados da tabela codebox_tbl.

Exemplo online

A seguir, vamos usar w3Obter w da tabela codebox_tbl3Todos os registros no campo codebox_author que terminam com COM:

mysql> use w3codebox;
Database changed
mysql> SELECT * from w3codebox_tbl WHERE w3codebox_author LIKE '%COM';
+-----------+---------------+---------------+-----------------+
| w3codebox_id           | w3codebox_title         | w3codebox_author | submission_date |
+-----------+---------------+---------------+-----------------+
| 3         | Aprender Java         | oldtoolbag.com           | 2015-05-01      |
| 4         | Aprender Python       | oldtoolbag.com           | 2016-03-06      |
+-----------+---------------+---------------+-----------------+
2 linhas no conjunto (0.01 sec)

Uso do operador LIKE em scripts PHP

Você pode usar a função mysqli_query() do PHP e o comando SELECT SQL com WHERE...LIKE para obter dados.

Esta função é usada para executar comandos SQL e, em seguida, usar a função mysqli_fetch_array() do PHP para exibir todos os dados da consulta.

Mas se for usado WHERE...LIKE na consulta SQL DELETE ou UPDATE, não é necessário usar a função mysqli_fetch_array().

Exemplo online

A seguir, usamos scripts PHP em w3Lendo w do códigobox_tbl3Todos os registros no campo codebox_author que terminam com COM:

<?php
$dbhost = 'localhost';  // Endereço do servidor do MySQL
$dbuser = 'root';            // Nome de usuário do MySQL
$dbpass = '123456';          // Nome de usuário e senha do MySQL
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('Falha na conexão: ' . mysqli_error($conn));
}
// Definir a codificação, para evitar o desordem de caracteres chineses
mysqli_query($conn, "set names utf8');
 
$sql = 'SELECT w3codebox_id, w3codebox_title, 
        w3codebox_author, submission_date
        FROM w3codebox_tbl
        WHERE w3codebox_author LIKE "%COM"';
 
mysqli_select_db($conn, 'w3codebox');
$retval = mysqli_query($conn, $sql);
if(! $retval)
{
    die('Não foi possível ler os dados: ' . mysqli_error($conn));
}
echo '<h2">Base Tutorial Network mysqli_fetch_array Teste<h2">
echo '<table border="1><tr><td> ID DO TUTORIAL</td><td>TÍTULO</td><td>AUTOR</td><td>DATA DE SUBMISSÃO</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQLI_ASSOC))
{
    echo "<tr><td> {$row['w3codebox_id']}</td> ".
         "<td>{$row['w3codebox_title']} </td> ".
         "<td>{$row['w3codebox_author']} </td> ".
         "<td>{$row['submission_date']} </td> ".
         "</tr>";
}
echo '</table>';
mysqli_close($conn);
?>

O resultado de saída é mostrado na figura a seguir: