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

MySQLテーブルから特定の行を削除する方法【DELETE文の使い方】

MySQLのテーブルから行を削除したい場合、DELETE文とWHERE句を組み合わせて使用します。WHERE句で削除対象の行を特定することで、テーブル内の他のデータに影響を与えることなく、目的の1行だけを正確に削除できます。

基本的な構文

DELETE FROM テーブル名 WHERE 削除対象の行を特定する条件;

実行例

ここでは、以下のような「names」テーブルを例に説明します。まず、現在のテーブルの中身を確認してみましょう。

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

次に、「id = 4」の行(Aaravのデータ)を削除するために、以下のDELETE文を実行します。

mysql> DELETE from names where id = 4;
Query OK, 1 row affected (0.07 sec)

このクエリにより、「names」テーブルからidが4である1行のみが削除されます。「Query OK, 1 row affected」というメッセージは、削除処理が正常に完了し、影響を受けた行が1行であったことを示しています。

削除後の確認

再度テーブルの内容を確認すると、id = 4の行が削除されていることがわかります。

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

注意点

DELETE文を使用する際は、必ずWHERE句で削除対象を明確に指定してください。もしWHERE句を省略してしまうと、テーブル内のすべての行が削除されてしまいます。また、本番環境で操作を行う前に、事前にバックアップを取得しておくことをおすすめします。

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

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

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

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