MySQLでは、データをクエリまたは更新するのと同じくらい簡単にデータを削除できます。
SQL DELETE
ステートメント
SQL DELETE
を使用します データベースからデータを削除するステートメント。 SELECT
のように およびUPDATE
ステートメント、DELETE
ステートメントはWHERE
を受け入れます 削除する正確なレコードを指定できるようにするための句。
構文
DELETE FROM table_name WHERE column_name = value;
例
-
データ
何かを削除する前のデータは次のとおりです。
-
一部のデータを削除
果物のリストから赤ブドウを削除しましょう。赤ブドウには FruitId が割り当てられています
5
の したがって、これをDELETE
で使用します ステートメント。DELETE FROM Fruit WHERE FruitId = 5;
-
結果
上記のコードを実行し、テーブルからすべての行を選択すると、レコードが削除されたことがわかります。
すべてのレコードを削除
テーブル内のすべてのレコードを非常に簡単に削除できます。実際には、すべてを削除する方が簡単です。 1つの特定のレコードを削除するよりもレコード。
-
コード
すべてを削除するには テーブル内のレコード。
WHERE
を省略してください。 句。このように:DELETE FROM Fruit;
-
結果
おっと…これ以上の記録はありません!
ご想像のとおり、DELETE
を使用する場合は十分に注意する必要があります。 声明。これは、安全な更新モードが役立つ場合があります(データを更新するときに説明したように)。
結局のところ、Safe Updatesモードを無効にした後でのみ、上記のステートメントを実行できました。したがって、そのステートメントを実行する前に、次のコマンドを実行しました。
SET SQL_SAFE_UPDATES = 0;
ですから、これ以上ダメージを与える前に、セーフアップデートを再度有効にするのはおそらく良い時期です…
SET SQL_SAFE_UPDATES = 1;
データを復元する
これで、 Fruit からすべてのレコードが消去されました。 テーブル、それらを元の値に復元できるかどうかを見てみましょう。幸いなことに、以前はテーブルにデータを挿入するスクリプトを作成しました。
-
コード
それでは、 Fruit に入力されているビットを取り出しましょう。 テーブルを作成して実行します:
INSERT INTO Fruit VALUES (1,'Apple',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (2,'Orange',5,2,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (3,'Banana',20,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (4,'Watermelon',10,1,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (5,'Grapes',15,6,'2015-02-15 10:30:00','2015-02-15 10:30:00'), (6,'Strawberry',12,7,'2015-02-15 10:30:00','2015-02-15 10:30:00');
-
結果
これで、テーブルは最初にデータを入力したときのようになります。