教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA 外部アプリケーション連携】SQLのDELETE文の使い方を教えて!

構文

構文は以下の通りです。

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

解説

DELETE文はデータベースからレコードを削除するための強力な機能です。「DELETE FROM」の後に対象となるテーブル名を指定し、その後に「WHERE」句で削除対象のレコードを特定する条件式を指定します。条件式を省略すると、テーブル内の全てのレコードが削除されますので、注意が必要です。

使い方

使い方を具体的に解説していきます。

1 基本的な使い方

まずは、基本的な使い方から始めましょう。以下の例では、"students"というテーブルから名前が「山田太郎」であるレコードを削除します。

DELETE FROM students
WHERE name = '山田太郎';

この例では、"students"というテーブルから名前が「山田太郎」であるレコードが削除されます。条件式として「name = '山田太郎'」を指定しています。

2 条件を組み合わせた使い方

次に、複数の条件を組み合わせて削除する方法を解説します。以下の例では、「students」テーブルから「年齢が20歳以上でかつ成績がC以下」のレコードを削除します。

DELETE FROM students
WHERE age >= 20 AND grade <= 'C';

この例では、"students"テーブルから条件式「age >= 20 AND grade <= 'C'」に該当するレコードが削除されます。条件式では、AND演算子を使って複数の条件を組み合わせて条件を指定しています。

3 全レコードを削除する使い方

次に、テーブル内の全てのレコードを一括で削除する方法を解説します。以下の例では、「students」テーブル内の全てのレコードを削除します。

DELETE FROM students;

この例では、条件式を省略していますので、テーブル内の全てのレコードが削除されます。ただし、この操作は非常に危険ですので、注意が必要です。データベース内の重要な情報が失われる可能性があるため、実行する際には慎重に検討してください。

プログラミング例

プログラミング例をいくつかご紹介します。

例1: 特定の条件に基づいてデータを削除する

生徒テーブルから、成績が不合格(score < 60)の生徒のデータを削除する例です。

DELETE FROM students
WHERE score < 60;

例2: テーブル内の全データを削除する

生徒テーブル内の全てのデータを削除する例です。

DELETE FROM students;

まとめ

DELETE文はデータベースからレコードを削除する際に利用され、非常に重要な機能です。非常に役立つ機能であり、使い方をしっかり理解しておくことは重要です。是非活用してください。