English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MySQL DELETE ステートメント

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スクリプトを使用してデータを削除する

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