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 數據表 zaixian_tbl 所選的數據。
實例
以下實例將刪除 zaixian_tbl 表中 zaixian_id 為3 的記錄:
DELETE 語句:
mysql> use zaixian;
Database changed
mysql> DELETE FROM zaixian_tbl WHERE zaixian_id=3;
Query OK, 1 row affected (0.23 sec)
使用 PHP 腳本刪除數據
PHP使用 mysqli_query() 函數來執行SQL語句, 你可以在 SQL DELETE 命令中使用或不使用 WHERE 子句。
該函數與 mysql> 命令符執行SQL命令的效果是一樣的。
實例
以下PHP實例將刪除 zaixian_tbl 表中 zaixian_id 為 3 的記錄:
MySQL DELETE 子句測試:
$dbhost = 'localhost:3306'; // mysql伺服器主機地址
$dbuser = 'root'; // mysql用戶名
$dbpass = '123456'; // mysql用戶名密碼
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('連接失敗: ' . mysqli_error($conn));
}
// 設置編碼,防止中文亂碼
mysqli_query($conn , "set names utf8");
$sql = 'DELETE FROM zaixian_tbl
WHERE zaixian_id=3';
mysqli_select_db( $conn, 'zaixian' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('無法刪除數據: ' . mysqli_error($conn));
}
echo '數據刪除成功!';
mysqli_close($conn);