【SQL】DELETE文の書き方と使い方の基本

SQLのDELETE文について、基本的な書き方と使い方を解説します。テーブルから不要なデータを削除する方法について、WHERE句で条件を指定して特定の行だけを消す方法と、テーブル内の全データを削除する方法を学びます。安全なデータ操作に不可欠なWHERE句の重要性もしっかり理解できます。

作成日: 更新日:

開発環境

  • OS: Windows10
  • DatabaseGUI: TablePlus
  • MySQL: 8.0.42

DELETE文とは

DELETE文は、テーブルから既存のデータを削除するためのSQL文です。

SQLとは、データベース(データを保管・管理するシステム)を操作するための命令文のことです。 そして、テーブルはExcelのシートのように、行と列で構成された表形式のデータのまとまりを指します。

DELETE文を使用することで、このテーブルにすでに入力されているデータ(レコードや行とも呼ばれます)の中から、不要になったものを削除できます。

例えば、「退会したユーザーの情報を削除する」や「古くなった商品データを削除する」といった場面で使われます。

DELETE文を使う際には、WHEREというキーワードを使って「どの行を削除するのか」という条件を正確に指定することが非常に重要です。もしこのWHEREによる条件指定を忘れてしまうと、テーブル内の全てのデータが削除されてしまうため、十分に注意が必要です。

DELETE文の基本構文

DELETE文は、データベースのテーブルに保存されているデータを削除するために使用する命令です。WHERE句で指定した条件に一致する行(レコード)を削除できます。

1DELETE FROM
2    テーブル名
3WHERE
4    条件式;

DELETE FROM テーブル名の部分で、どのテーブルからデータを削除するのかを指定します。

WHERE 条件式の部分で、削除したいデータの条件を指定します。例えば、「id = 100」のように記述すると、idカラムの値が100である行が削除の対象となります。

注意点として、WHERE句を省略すると、テーブル内のすべてのデータが削除されてしまいます。 データを削除する際は、どのデータを削除するのかをWHERE句で明確に指定することが非常に重要です。

サンプルコード

データベースのテーブルからデータを削除する方法について解説します。データの削除にはDELETE文を使用します。

sql/chapter11/01.sql

このサンプルコードは、studentsという名前のテーブルに保存されている全てのデータを削除します。

1-- 全件削除
2DELETE FROM
3	students;

DELETE FROM テーブル名;という形式で記述します。このように、条件を指定するWHERE句がないDELETE文を実行すると、テーブル内の全ての行(レコード)が削除されます。この操作は元に戻すことが難しいため、実行する前には十分な確認が必要です。

sql/chapter11/02.sql

このサンプルコードは、classesテーブルの中から特定の条件に一致するデータだけを削除します。

1-- WHERE句で条件に一致する行だけを削除
2DELETE FROM
3	classes
4WHERE
5	id = 5;

WHERE句を使うことで、削除する行を絞り込むことができます。この例ではWHERE id = 5;と指定しているため、「idという列の値が5である行」だけが削除の対象となります。 特定のデータのみを安全に削除したい場合には、このようにWHERE句で条件を正確に指定することが非常に重要です。

おわりに

今回は、SQLのDELETE文を使ってテーブルからデータを削除する方法について学びました。WHERE句で条件を指定すれば特定の行だけを削除でき、WHERE句を省略するとテーブルの全データが削除されます。意図しないデータ削除を防ぐため、DELETE文を実行する前にはWHERE句の条件を必ず確認する習慣をつけましょう。データベースを安全に操作するために、このWHERE句の重要性をしっかりと覚えておいてください。

【SQL】DELETE文の書き方と使い方の基本 | いっしー@Webエンジニア