MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLテーブルから複数の行を削除する方法

MySQLのテーブルから複数の行(レコード)を一度に削除したい場合は、DELETEステートメントにWHERE句を組み合わせて使用します。WHERE句が削除対象となる複数の行を特定することで、条件に一致したすべての行をまとめて削除できます。

基本構文

DELETE FROM テーブル名 WHERE 条件;

実行例

まず、サンプルテーブル「names」の中身を確認しておきましょう。

mysql> Select * from names;
+------+-----------+
| id   | name      |
+------+-----------+
| 1    | Rahul     |
| 2    | Gaurav    |
| 3    | Raman     |
| 5    | Ram       |
+------+-----------+
4 rows in set (0.00 sec)

続いて、idが2より大きい行を削除するクエリを実行します。

mysql> DELETE from names WHERE id > 2;
Query OK, 2 rows affected (0.04 sec)

このクエリでは、WHERE句によって「names」テーブル内の id > 2 に該当する2行が特定されたため、その2行が同時に削除されました。削除後のテーブルは以下のようになります。

mysql> Select * from names;
+------+-----------+
| id   | name      |
+------+-----------+
| 1    | Rahul     |
| 2    | Gaurav    |
+------+-----------+
2 rows in set (0.00 sec)

注意点

WHERE句を指定せずにDELETE文を実行すると、テーブル内のすべての行が削除されてしまうため注意が必要です。特に本番環境のデータベースを操作する場合は、事前に同じ条件でSELECT文を実行し、削除対象の行を確認してからDELETEを実行することをおすすめします。また、誤って削除したデータに備えて、定期的なバックアップを取得しておくことも重要です。

  1. PythonとMySQLでデータベースからテーブルを削除する方法【DROP TABLE文の使い方】

    データベースからテーブル全体を削除する必要が生じる場合があります。不要になったデータをデータベースに残しておくのは、ストレージの無駄につながります。たとえば、データベースに「Employees」というテーブルがあり、何らかの理由でそのテーブルが不要になったとしましょう。このような場合は、不要となったテーブルを削除してしまうのが最善の対応です。テーブルの削除には「DROP TABLE」コマンドを使用します。このコマンドを実行すると、データベースからテーブル全体が完全に削除されます。構文DROP TABLE table_nametable_name の部分には、削除したいテーブルの名前を指定します

  2. PythonとMySQLでテーブルからレコードを削除する方法を徹底解説

    データベースを運用していると、テーブルから特定の行(レコード)を削除する必要が生じることがあります。例えば、クラスの生徒情報を管理するテーブルがあるとしましょう。ある生徒がクラスを退会した場合、その生徒の情報はもう不要になるため、該当する行をテーブルから削除する必要があります。 MySQLでは「DELETE FROM」ステートメントを使用して、テーブルから行やレコードを削除します。「WHERE」句を使うことで、削除対象の行を指定できます。なお、WHERE句を指定しない場合は、テーブル内のすべてのレコードが削除されてしまうため注意が必要です。 構文 すべての行を削除する場合 − DELETE F