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を実行することをおすすめします。また、誤って削除したデータに備えて、定期的なバックアップを取得しておくことも重要です。
-
PythonとMySQLでデータベースからテーブルを削除する方法【DROP TABLE文の使い方】
データベースからテーブル全体を削除する必要が生じる場合があります。不要になったデータをデータベースに残しておくのは、ストレージの無駄につながります。たとえば、データベースに「Employees」というテーブルがあり、何らかの理由でそのテーブルが不要になったとしましょう。このような場合は、不要となったテーブルを削除してしまうのが最善の対応です。テーブルの削除には「DROP TABLE」コマンドを使用します。このコマンドを実行すると、データベースからテーブル全体が完全に削除されます。構文DROP TABLE table_nametable_name の部分には、削除したいテーブルの名前を指定します
-
PythonとMySQLでテーブルからレコードを削除する方法を徹底解説
データベースを運用していると、テーブルから特定の行(レコード)を削除する必要が生じることがあります。例えば、クラスの生徒情報を管理するテーブルがあるとしましょう。ある生徒がクラスを退会した場合、その生徒の情報はもう不要になるため、該当する行をテーブルから削除する必要があります。 MySQLでは「DELETE FROM」ステートメントを使用して、テーブルから行やレコードを削除します。「WHERE」句を使うことで、削除対象の行を指定できます。なお、WHERE句を指定しない場合は、テーブル内のすべてのレコードが削除されてしまうため注意が必要です。 構文 すべての行を削除する場合 − DELETE F