MySQL - Requête DELETE

Si vous souhaitez supprimer un enregistrement de n'importe quelle table MySQL, vous pouvez utiliser la commande SQL DELETE FROM. Vous pouvez utiliser cette commande à l'invite mysql> ainsi que dans n'importe quel script comme PHP.

Syntaxe

Le bloc de code suivant a une syntaxe SQL générique de la commande DELETE pour supprimer des données d'une table MySQL.

DELETE FROM table_name [WHERE Clause]
  • Si la clause WHERE n'est pas spécifiée, tous les enregistrements seront supprimés de la table MySQL donnée.

  • Vous pouvez spécifier n'importe quelle condition à l'aide de la clause WHERE.

  • Vous pouvez supprimer des enregistrements dans une seule table à la fois.

La clause WHERE est très utile lorsque vous souhaitez supprimer les lignes sélectionnées dans une table.

Suppression de données de l'invite de commande

Cela utilisera la commande SQL DELETE avec la clause WHERE pour supprimer les données sélectionnées dans la table MySQL - tutorials_tbl.

Exemple

L'exemple suivant supprimera un enregistrement du tutorial_tbl dont tutorial_id est 3.

root@host# mysql -u root -p password;
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> DELETE FROM tutorials_tbl WHERE tutorial_id=3;
Query OK, 1 row affected (0.23 sec)

mysql>

Suppression de données à l'aide d'un script PHP

Vous pouvez utiliser la commande SQL DELETE avec ou sans la CLAUSE WHERE dans la fonction PHP - mysql_query(). Cette fonction exécutera la commande SQL de la même manière qu'elle est exécutée à l'invite mysql>.

Exemple

Essayez l'exemple suivant pour supprimer un enregistrement du tutorial_tbl dont tutorial_id est 3.

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

   $sql = 'DELETE FROM tutorials_tbl WHERE tutorial_id = 3';

   mysql_select_db('TUTORIALS');
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not delete data: ' . mysql_error());
   }
   echo "Deleted data successfully\n";
   mysql_close($conn);
?>