logo

SQL DELETE ステートメント

SQL DELETE ステートメントは、テーブル構造をそのまま維持しながらテーブルから特定の行を削除するために使用されます。テーブル全体を削除する DROP とは異なります。

  • 条件に基づいて行を削除します。
  • テーブルのスキーマ制約とインデックスを保持します。
  • 単一行またはすべての行を削除できます。

例: まず最初に 作成する SQL DELETE コマンドを使用するデモ SQL データベースとテーブル。

Javaのcase文
の' title=

クエリ:



DELETE FROM Employees  
WHERE EmployeeID = 5;

出力:

削除された行-' loading='lazy' title=
  • このクエリは、Employees テーブルから EmployeeID が 5 である行を削除します。
  • その特定のレコードのみが削除されます。他のすべての行は変更されません。

構文:

DELETE FROM table_name   
WHERE some_condition;
  • 何らかの条件: 削除する行をフィルタリングするために使用される条件。
  • テーブル名: 行を削除するテーブルの名前。

注記: WHERE 句を使用して、単一または複数のレコードを削除できます。省略すると、テーブル内のすべてのレコードが削除されます。

SQL DELETE 文の例

SQL で GFG_Employee という名前のテーブルを作成したとします。このテーブルには、以下に示すように、従業員の ID 名、電子メール、部門などの個人情報が含まれています。

CREATE TABLE GFG_Employees (
id INT 主キー
名前 VARCHAR (20)
電子メール VARCHAR (25)
部門 VARCHAR(20)
);

INSERT INTO GFG_Employees (ID 名 電子メール 部門) VALUES
(1 'ジェシー' '[email protected]' '開発')
(2 'Praveen' '[email protected]' 'HR')
(3「できる」「[email protected]」「営業」)
(4 'Rithvik' '[email protected]' 'IT')
(5「Suraj」「[email protected]」「品質保証」)
(6 'Om' '[email protected]' 'IT')
(7「ナルト」「[email protected]」「開発」);

* GFG_Employees から選択

出力:

GFG_従業員' loading='lazy' title=

例 1: 単一レコードの削除

条件を指定して DELETE ステートメントを使用すると、テーブルから特定の行を削除できます。の どこ 句により、目的のレコードのみが削除されることが保証されます。以下のクエリを使用して、Rithvik という名前のレコードを削除できます。

クエリ:

DELETE FROM GFG_Employees   
WHERE NAME = 'Rithvik';

出力:

削除された情報' loading='lazy' title=

例 2: 複数のレコードの削除

複数のレコードを削除するには、複数の行に一致する条件を指定できます。テーブル GFG_Employees から部門が「開発」である行を削除しましょう。これにより、2 行 (1 行目と 7 行目) が削除されます。

クエリ:

DELETE FROM GFG_Employees   
WHERE department = 'Development';

出力

部門' loading='lazy' title=

例 3: テーブルからすべてのレコードを削除する

テーブルからすべてのレコードを削除する必要がある場合は、WHERE 句を省略するか、アスタリスク (*) を付けた DELETE ステートメントを使用してすべての行を示すことができます。

クエリ:

DELETE FROM GFG_Employees;  
Or
DELETE * FROM GFG_Employees;

出力:

空の' loading='lazy' title=

テーブル内のすべてのレコードが削除され、表示するレコードがなくなります。テーブル GFG_Employees は空になります。

DELETE 操作のロールバック

DELETE ステートメントは DML 操作であるため、ステートメント内で実行するとロールバックできます。誤ってレコードを削除した場合、またはプロセスを繰り返す必要がある場合は、 ロールバック 指示。

クエリ:

START TRANSACTION;  
DELETE FROM GFG_Employees WHERE department = 'Development';
-- If needed you can rollback the deletion
ROLLBACK;

説明: ROLLBACK コマンドは、DELETE ステートメントによって行われた変更を元に戻し、トランザクション中に削除されたレコードを効果的に復元します。

クイズの作成