Latest web development tutorials

MySQL DELETE 語句

你可以使用SQL 的DELETE FROM 命令來刪除MySQL 數據表中的記錄。

你可以在mysql>命令提示符或PHP腳本中執行該命令。

語法

以下是SQL DELETE 語句從MySQL數據表中刪除數據的通用語法:

DELETE FROM table_name [WHERE Clause]
  • 如果沒有指定WHERE 子句,MySQL表中的所有記錄將被刪除。
  • 你可以在WHERE 子句中指定任何條件
  • 您可以在單個表中一次性刪除記錄。

當你想刪除數據表中指定的記錄時WHERE 子句是非常有用的。


從命令行中刪除數據

這裡我們將在SQL DELETE 命令中使用WHERE 子句來刪除MySQL數據表w3big_tbl所選的數據。

實例

以下實例將刪除w3big_tbl 表中w3big_id 為3 的記錄:

root@host# mysql -u root -p password;
Enter password:*******
mysql> use w3big;
Database changed
mysql> DELETE FROM w3big_tbl WHERE w3big_id=3;
Query OK, 1 row affected (0.23 sec)

mysql>

使用PHP 腳本刪除數據

PHP使用mysql_query() 函數來執行SQL語句, 你可以在SQL DELETE命令中使用或不使用WHERE 子句。

該函數與mysql>命令符執行SQL命令的效果是一樣的。

實例

以下PHP實例將刪除w3big_tbl表中w3big_id為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 w3big_tbl
        WHERE w3big_id=3';

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