テーブルからレコード削除を行うDELETE文について初心者向けにわかりやすく1分で解説します。

前提となる知識は一切必要ありません。このページ内を読めば自分ひとりでテーブルからレコード削除が行えるようになるようサンプルコード付きでご説明します。
プログラマーやデータベースエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識。是非最後までご覧ください。

SQL文の基本ルール(大文字/小文字の区別、コメントの付与など)を始めに学んでおきたい方は以下の記事を先にご覧ください。
SQL:DELETE文
DELETE文はテーブルからレコードを削除する場合に利用します。

構文ルールは以下の通り非常にシンプルです。
DELETE FROM テーブル名;

以下のテーブル "PointList" に存在するレコードを削除してみます。

SELECT * FROM PointList; /* +----+------+-------+----------+------+---------+ | ID | Name | Class | Japanese | Math | English | +----+------+-------+----------+------+---------+ | 1 | 佐藤 | A | 100 | 100 | 85 | | 2 | 鈴木 | A | 90 | 70 | 70 | | 3 | 高橋 | A | 85 | 70 | 65 | | 4 | 中村 | A | 90 | 65 | 85 | | 5 | 小林 | B | 70 | 90 | 65 | | 6 | 山口 | B | 90 | 85 | 85 | | 7 | 田中 | B | 70 | 90 | 65 | | 8 | 伊藤 | B | 70 | 90 | NULL | +----+------+-------+----------+------+---------+ */
シンプルなDELETE文ではレコードを削除したいテーブルを指定するだけなので、SQLは以下の通りとなります。
DELETE FROM PointList; -- 結果 Empty set (0.00 sec)
ただし、通常このようなシンプルなDELETE文を使うことはありません。
普通にDELETE文を使うときは、削除したいレコードが特定されています。ですが、上記のようなDELETE文を利用すると、テーブルに存在するすべてのレコードが一気に削除されてしまうのです。

では、DELETE文を使って削除したいレコードだけを削除するにはどうするか?
次の章ではDELETE文におけるWHERE句の利用方法を解説します。
DELETE文:WHERE句
削除対象を制限するにはSELECT文と同様にWHERE句で条件を指定します。
DELETE FROM テーブル名 WHERE 条件式;

先ほど例にしたテーブルから1行目のレコードだけを削除する場合を考えてみましょう。

WHERE句の記述方法はSELECT文と同様なので、1行目のレコードだけが一意になるような条件を指定します。
-- ID列が「1」のレコードのみを削除 DELETE FROM PointList where ID = 1; /*1行目のレコードのみが削除される +----+------+-------+----------+------+---------+ | ID | Name | Class | Japanese | Math | English | +----+------+-------+----------+------+---------+ | 2 | 鈴木 | A | 90 | 70 | 70 | | 3 | 高橋 | A | 85 | 70 | 65 | | 4 | 中村 | A | 90 | 65 | 85 | | 5 | 小林 | B | 70 | 90 | 65 | | 6 | 山口 | B | 90 | 85 | 85 | | 7 | 田中 | B | 70 | 90 | 65 | | 8 | 伊藤 | B | 70 | 90 | NULL | +----+------+-------+----------+------+---------+ */

このようにWHERE句で条件を指定してレコード削除を行うのが通常のDELETE文です。
もしSELECT文と同様に複数のレコードを削除したい場合は、以下のようにWHERE句の条件を変えればOK。
DELETE FROM Pointlist where Class = 'A'; /* 2行目~4行目のレコード(Class列がAのもの)が一度に削除される +----+------+-------+----------+------+---------+ | ID | Name | Class | Japanese | Math | English | +----+------+-------+----------+------+---------+ | 5 | 小林 | B | 70 | 90 | 65 | | 6 | 山口 | B | 90 | 85 | 85 | | 7 | 田中 | B | 70 | 90 | 65 | | 8 | 伊藤 | B | 70 | 90 | NULL | +----+------+-------+----------+------+---------+ */
システムエンジニアを目指したい方は
システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。
正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。

システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。