MariaDB - 刪除查詢



DELETE 命令從指定表中刪除錶行,並返回已刪除的行數。使用 ROW_COUNT() 函式訪問已刪除的行數。WHERE 子句指定行,如果沒有該子句,則刪除所有行。LIMIT 子句控制被刪除的行數。

在針對多行的 DELETE 語句裡,它僅刪除滿足條件的行;且不允許 LIMIT 和 WHERE 子句。DELETE 語句允許從不同資料庫中的表刪除行,但不允許從表中刪除,然後在子查詢中從同一張表中選擇。

檢視以下 DELETE 語法 −

DELETE FROM table_name [WHERE …]

可以在命令提示符下或使用 PHP 指令碼執行 DELETE 命令。

命令提示符

在命令提示符下,只需使用標準命令 −

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 命令語句中使用 mysql_query() 函式 −

<?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);
?>

在成功刪除資料後,您將看到以下輸出 −

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