sql >> データベース >  >> RDS >> Mysql

MySQLデータベースからデータを削除する

    MySQLでは、データをクエリまたは更新するのと同じくらい簡単にデータを削除できます。

    SQL DELETE ステートメント

    SQL DELETEを使用します データベースからデータを削除するステートメント。 SELECTのように およびUPDATE ステートメント、DELETE ステートメントはWHEREを受け入れます 削除する正確なレコードを指定できるようにするための句。

    構文

    DELETE
    FROM table_name
    WHERE column_name = value;

    1. データ

      何かを削除する前のデータは次のとおりです。

    2. 一部のデータを削除

      果物のリストから赤ブドウを削除しましょう。赤ブドウには FruitId が割り当てられています 5の したがって、これをDELETEで使用します ステートメント。

      DELETE
                  FROM Fruit
                  WHERE FruitId = 5;
    3. 結果

      上記のコードを実行し、テーブルからすべての行を選択すると、レコードが削除されたことがわかります。

    すべてのレコードを削除

    テーブル内のすべてのレコードを非常に簡単に削除できます。実際には、すべてを削除する方が簡単です。 1つの特定のレコードを削除するよりもレコード。

    1. コード

      すべてを削除するには テーブル内のレコード。WHEREを省略してください。 句。このように:

      DELETE FROM Fruit;
    2. 結果

      おっと…これ以上の記録はありません!

    ご想像のとおり、DELETEを使用する場合は十分に注意する必要があります。 声明。これは、安全な更新モードが役立つ場合があります(データを更新するときに説明したように)。

    結局のところ、Safe Updatesモードを無効にした後でのみ、上記のステートメントを実行できました。したがって、そのステートメントを実行する前に、次のコマンドを実行しました。

    SET SQL_SAFE_UPDATES = 0;

    ですから、これ以上ダメージを与える前に、セーフアップデートを再度有効にするのはおそらく良い時期です…

    SET SQL_SAFE_UPDATES = 1;

    データを復元する

    これで、 Fruit からすべてのレコードが消去されました。 テーブル、それらを元の値に復元できるかどうかを見てみましょう。幸いなことに、以前はテーブルにデータを挿入するスクリプトを作成しました。

    1. コード

      それでは、 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');
    2. 結果

      これで、テーブルは最初にデータを入力したときのようになります。


    1. 5プロジェクト開発中のMySqlの有用なクエリ

    2. MySQLにリモートで接続する

    3. PHPでmysql_*関数を使用すべきではないのはなぜですか?

    4. count(*)列でエイリアスを使用して、have句で参照できないのはなぜですか?