MariaDB - Usuń zapytanie

Polecenie DELETE usuwa wiersze tabeli z określonej tabeli i zwraca usuniętą ilość. Uzyskaj dostęp do ilości usuniętej za pomocą funkcji ROW_COUNT (). Klauzula WHERE określa wiersze, aw przypadku jej braku wszystkie wiersze są usuwane. Klauzula LIMIT kontroluje liczbę usuniętych wierszy.

W instrukcji DELETE dla wielu wierszy usuwa tylko te wiersze, które spełniają warunek; klauzule LIMIT i WHERE są niedozwolone. Instrukcje DELETE umożliwiają usuwanie wierszy z tabel w różnych bazach danych, ale nie pozwalają na usuwanie z tabeli, a następnie wybieranie z tej samej tabeli w podzapytaniu.

Przejrzyj następującą składnię DELETE -

DELETE FROM table_name [WHERE …]

Wykonaj polecenie DELETE z wiersza poleceń lub za pomocą skryptu PHP.

Wiersz polecenia

W wierszu polecenia po prostu użyj standardowego polecenia -

root@host# 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'

PHP Delete Query Script

Użyj mysql_query() funkcja w instrukcjach polecenia 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);
?>

Po pomyślnym usunięciu danych zobaczysz następujący wynik -

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