データの削除

広告

テーブルに格納されているデータを削除するにはDELETE文を使います。基本となる書式は次の通りです。

DELETE FROM db_name.tbl_name [WHERE where_condition];

指定のデータベース内にある指定のテーブルに対し、指定したカラムに新しい値を設定します。

USE文を使ってデータベースに接続している状態で、そのデータベース内にあるテーブルのデータを削除する場合は次のように単にテーブル名だけを指定して作成することもできます。

DELETE FROM tbl_name [WHERE where_condition];

指定のテーブルに含まれるデータを削除します。どのデータを削除するのかはWHERE句を使って指定します。WHERE句は省略可能ですが、その場合はテーブル内の全てのデータが削除されます。

[例1]idカラムの値が10のデータを削除する
  DELETE FROM uriage WHERE id = 10;

[例2]countカラムの値が100より小さいデータを削除する
  DELETE FROM uriage WHERE count < 100;

[例3]全てのデータを削除する
  DELETE FROM uriage;

全てのデータを削除するにはTRUNCATE文を使用することもできます。

サンプル

実際に試してみます。まず次のようなテーブルを作成します。

mysql> create table visit(browser varchar(20), staysec int, visitd date);

p10-1

テーブルにはデータを次のように格納しておきます。

p10-2

では「browser」カラムの値が'FireFox'のデータを削除してみます。

mysql> delete from visit where browser = 'FireFox';

p10-3

ではテーブルのデータを取得して確認してみます。

p10-4

「browser」カラムの値が'FireFox'のデータが全て削除されていることが確認できます。

続いて条件を指定せず全てのデータを削除してみます。

mysql> delete from visit;

p10-5

テーブルに格納されたデータが空になっていることが確認できます。

( Written by Tatsuo Ikura )