【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句の重要性をしっかりと覚えておいてください。