データベースのデータを削除するDELETE文(SQL)の基礎と構成

データベースに既に登録されたデータを削除するにはSQLのDELETE文を使います。

SELECT同様に更新対象データを絞り込んで対象データを削除するので、SELECT文をちゃんと勉強していればDELETE文は簡単です。

更にUPDATEやINSERTのようにカラムを指定することも無いです。

削除はデータを1行まるごと削除するだけなので。

SELECT文は「データベースからデータを取得するSELECT文(SQL)の基礎と構成」をどうぞ。

DELETE文の基本構成

DELETE FROM テーブル名 WHERE 条件式;

青い部分はデータを更新するDELETE文の構文です。

 

テーブル名には削除するデータのテーブル名を指定します。

 

WHERE は省略も出来ますが、省略すると全てのデータが削除されます。

条件を複数指定する場合は AND や OR を使って指定します。

詳細はSELECT文で解説していますのでそちらをご覧ください。

DELETE文のサンプルコード

例えば以下のテーブルがあるとします。(テーブルの作り方はこちら

ユーザーテーブル(user)

ID ユーザー名前
1 田中
2 鈴木
3 山田
4 鈴木

この id が 3 の山田さんが退会してデータを削除することになったとします。

上のコードを実行すると山田さんのデータは削除されます。

 

ただし、データの削除は基本的に行わないです。

もし間違って削除してしまった場合はバックアップから復元するしか出来ないです。

例えば5年前のログなど、データが完全に不要の場合は削除も良いですが、基本的には「ステータス」というカラムを持ちステータスを削除状態にする論理削除を使います。

それこそ大企業のシステムで、データが数百万件あるようなものなら古いデータを削除することもありますが、個人で受注するレベルのものならほぼ削除は不要です。

まとめ

データベースに登録されているデータを削除するにはDELETE文を使う。

DELETE文はSELECT文をしっかり勉強していれば難しくはない。

だけど基本的にはDELETEで物理削除しないでステータスを削除状態にするだけの論理削除を使う。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA