MariaDB - cláusula like

A cláusula WHERE fornece uma maneira de recuperar dados quando uma operação usa uma correspondência exata. Em situações que requerem vários resultados com características compartilhadas, oLIKE cláusula acomoda ampla correspondência de padrões.

Uma cláusula LIKE testa uma correspondência de padrão, retornando verdadeiro ou falso. Os padrões usados ​​para comparação aceitam os seguintes caracteres curinga: “%”, que corresponde a números de caracteres (0 ou mais); e “_”, que corresponde a um único caractere. O caractere curinga “_” corresponde apenas aos caracteres de seu conjunto, o que significa que ele ignorará os caracteres latinos ao usar outro conjunto. As correspondências não diferenciam maiúsculas de minúsculas por padrão, exigindo configurações adicionais para diferenciação de maiúsculas e minúsculas.

Uma cláusula NOT LIKE permite testar a condição oposta, bem como o not operador.

Se a expressão ou padrão da instrução for avaliado como NULL, o resultado será NULL.

Reveja a sintaxe geral da cláusula LIKE fornecida abaixo -

SELECT field, field2,... FROM table_name, table_name2,...
WHERE field LIKE condition

Empregue uma cláusula LIKE no prompt de comando ou em um script PHP.

O Prompt de Comando

No prompt de comando, basta usar um comando padrão -

root@host# mysql -u root -p password;
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> SELECT * from products_tbl
   WHERE product_manufacturer LIKE 'XYZ%';
+-------------+----------------+----------------------+
| ID_number   | Nomenclature   | product_manufacturer |
+-------------+----------------+----------------------+
| 12345       | Orbitron 4000  | XYZ Corp             |
+-------------+----------------+----------------------+
| 12346       | Orbitron 3000  | XYZ Corp             |
+-------------+----------------+----------------------+
| 12347       | Orbitron 1000  | XYZ Corp             |
+-------------+----------------+----------------------+

Script PHP usando cláusula similar

Use o mysql_query() função em instruções que empregam a cláusula LIKE

<?php
   $dbhost = 'localhost:3036';
   $dbuser = 'root';
   $dbpass = 'rootpassword';
   $conn = mysql_connect($dbhost, $dbuser, $dbpass);
   
   if(! $conn ) {
      die('Could not connect: ' . mysql_error());
   }

   $sql = 'SELECT product_id, product_name, product_manufacturer, ship_date
      FROM products_tbl WHERE product_manufacturer LIKE "xyz%"';
   
   mysql_select_db('PRODUCTS');
   $retval = mysql_query( $sql, $conn );
   
   if(! $retval ) {
      die('Could not get data: ' . mysql_error());
   }

   while($row = mysql_fetch_array($retval, MYSQL_ASSOC)) {
      echo "Product ID:{$row['product_id']} <br> ".
         "Name: {$row['product_name']} <br> ".
         "Manufacturer: {$row['product_manufacturer']} <br> ".
         "Ship Date: {$row['ship_date']} <br> ".
         "--------------------------------<br>";
   }
   
   echo "Fetched data successfully\n";
   mysql_close($conn);
?>

Na recuperação de dados bem-sucedida, você verá a seguinte saída -

Product ID: 12345
Nomenclature: Orbitron 4000
Manufacturer: XYZ Corp
Ship Date: 01/01/17
----------------------------------------------
Product ID: 12346
Nomenclature: Orbitron 3000
Manufacturer: XYZ Corp
Ship Date: 01/02/17
----------------------------------------------
Product ID: 12347
Nomenclature: Orbitron 1000
Manufacturer: XYZ Corp
Ship Date: 01/02/17
----------------------------------------------
mysql> Fetched data successfully