MariaDB - Supprimer la requête

La commande DELETE supprime les lignes de table de la table spécifiée et renvoie la quantité supprimée. Accédez à la quantité supprimée avec la fonction ROW_COUNT (). Une clause WHERE spécifie des lignes, et en son absence, toutes les lignes sont supprimées. Une clause LIMIT contrôle le nombre de lignes supprimées.

Dans une instruction DELETE pour plusieurs lignes, elle supprime uniquement les lignes satisfaisant à une condition; et les clauses LIMIT et WHERE ne sont pas autorisées. Les instructions DELETE permettent de supprimer des lignes de tables dans différentes bases de données, mais n'autorisent pas la suppression d'une table, puis la sélection à partir de la même table dans une sous-requête.

Vérifiez la syntaxe DELETE suivante -

DELETE FROM table_name [WHERE …]

Exécutez une commande DELETE à partir de l'invite de commande ou à l'aide d'un script PHP.

L'invite de commande

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

[email protected]# mysql –u root –p password;
Enter password:*******
mysql> use PRODUCTS;
Database changed
mysql> DELETE FROM products_tbl WHERE product_id=133;
mysql> SELECT * from products_tbl WHERE ID_number='133';
ERROR 1032 (HY000): Can't find record in 'products_tbl'

Script de requête de suppression PHP

Utilisez le mysql_query() fonction dans les instructions de commande DELETE -

<?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 products_tbl WHERE product_id = 261';
   mysql_select_db('PRODUCTS');
   $retval = mysql_query( $sql, $conn );

   if(! $retval ) {
      die('Could not delete data: ' . mysql_error());
   }

   echo "Deleted data successfully\n";
   mysql_close($conn);
?>

En cas de suppression des données réussie, vous verrez la sortie suivante -

mysql> Deleted data successfully
mysql> SELECT * from products_tbl WHERE ID_number='261';
ERROR 1032 (HY000): Can't find record in 'products_tbl'