English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SQLのDELETE FROM命令を使用してMySQLデータテーブルのレコードを削除できます。
mysql> コマンドプロンプトやPHPスクリプトでこのコマンドを実行できます。
以下は、MySQLデータテーブルからデータを削除するSQL DELETE文の一般的な構文です:
DELETE FROM table_name [WHERE Clause]
WHERE子句が指定されていない場合、MySQLテーブルのすべてのレコードが削除されます。
WHERE子句でどんな条件でも指定できます。
単一のテーブルから一度に複数のレコードを削除できます。
データテーブルから特定のレコードを削除したい場合、WHERE子句は非常に便利です。
ここでは、MySQLデータテーブル wのデータを削除するためにSQL DELETE命令でWHERE子句を使用します。3codebox_tbl で選択されたデータを削除します。
以下の例では w3codebox_tbl テーブルの w3codebox_id が3 のレコード:
mysql> use w3codebox; データベースが変更されました mysql> DELETE FROM w3codebox_tbl WHERE w3codebox_id=3; Query OK, 1 row affected (0.23 sec)
PHPは mysqli_query() 関数を使用してSQL文を実行します。 SQL DELETE コマンドでは WHERE 子句を使用するかどうかを選択できます。
この関数は mysql> コマンドの効果と同じです。
以下のPHPの例では w3codebox_tbl テーブルの w3codebox_id が 3 のレコード:
<?php $dbhost = 'localhost'; // 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 w3codebox_tbl WHERE w3codebox_id=3'; mysqli_select_db($conn, 'w3codebox'); $retval = mysqli_query($conn, $sql); if(! $retval ) { die('データ削除失敗: ' . mysqli_error($conn)); } echo 'データ削除成功!'; mysqli_close($conn); ?>