MariaDB - Clause similaire

La clause WHERE fournit un moyen de récupérer des données lorsqu'une opération utilise une correspondance exacte. Dans les situations nécessitant des résultats multiples avec des caractéristiques communes, leLIKE la clause accepte une large correspondance de motifs.

Une clause LIKE teste une correspondance de modèle, renvoyant un vrai ou un faux. Les modèles utilisés pour la comparaison acceptent les caractères génériques suivants: «%», qui correspond à des nombres de caractères (0 ou plus); et «_», qui correspond à un seul caractère. Le caractère générique «_» correspond uniquement aux caractères de son ensemble, ce qui signifie qu'il ignorera les caractères latins lors de l'utilisation d'un autre ensemble. Les correspondances sont insensibles à la casse par défaut, ce qui nécessite des paramètres supplémentaires pour la sensibilité à la casse.

Une clause NOT LIKE permet de tester la condition opposée, tout comme la not opérateur.

Si l'expression d'instruction ou le modèle est évalué à NULL, le résultat est NULL.

Passez en revue la syntaxe générale de la clause LIKE donnée ci-dessous -

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

Utilisez une clause LIKE à l'invite de commande ou dans un script PHP.

L'invite de commandes

À l'invite de commande, utilisez simplement une commande standard -

[email protected]# 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 utilisant la clause Like

Utilisez le mysql_query() fonction dans les instructions utilisant la clause 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);
?>

Lors de la récupération des données réussie, vous verrez la sortie suivante -

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