MariaDB - Clause Where

WHEREles clauses filtrent diverses instructions telles que SELECT, UPDATE, DELETE et INSERT. Ils présentent les critères utilisés pour spécifier l'action. Ils apparaissent généralement après un nom de table dans une instruction et leur condition suit. La clause WHERE fonctionne essentiellement comme une instruction if.

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

[COMMAND] field,field2,... FROM table_name,table_name2,... WHERE [CONDITION]

Notez les qualités suivantes de la clause WHERE -

  • C'est facultatif.

  • Il permet de spécifier n'importe quelle condition.

  • Il permet la spécification de conditions multiples en utilisant un opérateur AND ou OR.

  • Le respect de la casse ne s'applique qu'aux instructions utilisant des comparaisons LIKE.

La clause WHERE autorise l'utilisation des opérateurs suivants -

Opérateur
=! =
> <
> = <=

Les clauses WHERE peuvent être utilisées à 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 PRODUCTS;
Database changed
mysql> SELECT * from products_tbl WHERE product_manufacturer = 'XYZ Corp';
+-------------+----------------+----------------------+
| ID_number   | Nomenclature   | product_manufacturer |
+-------------+----------------+----------------------+
| 12345       | Orbitron 4000  | XYZ Corp             |
+-------------+----------------+----------------------+
| 12346       | Orbitron 3000  | XYZ Corp             |
+-------------+----------------+----------------------+
| 12347       | Orbitron 1000  | XYZ Corp             |
+-------------+----------------+----------------------+

Passez en revue un exemple utilisant le AND état -

SELECT *
FROM products_tbl
WHERE product_name = 'Bun Janshu 3000';
AND product_id <= 344;

Cet exemple combine les conditions ET et OU

SELECT *
FROM products_tbl
WHERE (product_name = 'Bun Janshu 3000' AND product_id < 344)
OR (product_name = 'Bun Janshu 3000');

Scripts PHP utilisant la clause Where

Employer le mysql_query() fonction dans les opérations utilisant une clause WHERE -

<?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 = "XYZ Corp"';
   
   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