phpMyAdmin を使用して MySQL データベースのすべての行を削除する

Mehvish Ashiq 2024年2月15日
  1. phpMyAdmin を使用して MySQL データベースの行を削除する
  2. まとめ
phpMyAdmin を使用して MySQL データベースのすべての行を削除する

phpMyAdmin を使用して、MySQL データベースのすべての行を削除する最良の方法を学習します。DELETE コマンドを使用して、特定のテーブルから行を削除します。

また、DELETEDROP、および TRUNCATE コマンドの違いについても学習します。テーブルに外部キーが関連付けられている場合、MySQL の行を DELETE する方法を説明します。

MySQL バージョン 8.0.27 を使用しており、最新のものはこちらからダウンロードできます。

phpMyAdmin を使用して MySQL データベースの行を削除する

phpMyAdmin では、2つの方法で行を削除することができます。これは、グラフィカルユーザーインターフェイス(GUI)オプションと SQL クエリを使用して実行できます。

以下でそれぞれを理解しましょう。

SQL クエリなしで phpMyAdmin の行を削除

1つのテーブルからすべての行を一度に削除する必要があるシナリオがいくつかあります。Check all をクリックし、Delete を押してこれを行います。

phpmyadmin を使用して mysql データベースのすべての行を削除する最良の方法-phpmyadmin のすべての行を削除します

選択したテーブルから 1 行だけを削除したい場合は、削除ボタンをクリックしてその特定の行を削除します。次の画像を参照してください。

phpmyadmin を使用して mysql データベースのすべての行を削除する最良の方法-phpmyadmin の 1 行を削除します

すべてではなく 1つ以上の行を削除する場合は、最初にそれらをチェックしてから、Delete を押すことができます。次のスクリーンショットを見ると、指示に従うことができます。

phpmyadmin を使用して mysql データベースのすべての行を削除する最良の方法-phpmyadmin の複数の行を削除します

別のテーブルから行を削除する場合は、上記のように各テーブルに移動してから削除する必要があります。時間と労力がかかります。

ここで、SQL クエリが機能し、作業が非常に簡単になります。

SQL クエリを使用して phpMyAdmin の行を削除する

プロジェクトの要件に従って、3つの異なる方法を使用して目標を達成できます。それらを一つ一つ理解して使っていきましょう。

phpMyAdmin を使用しているときに、SQL クエリをどこに書き込むかを考えているかもしれません。SQL クエリは、SQL タブの phpMyAdmin に記述できます(以下のスクリーンショットを参照)。

右下隅にある Go ボタンを押すか、Ctrl+Enterキーを押してクエリを実行します。

phpmyadmin を使用して mysql データベースのすべての行を削除する最良の方法-phpmyadmin の sql クエリで削除

DROP

DROPData Definition Language コマンド(DDL)の 1つです。

このコマンドは、テーブル全体を一度にドロップするために使用されます。そのテーブルの権限、トリガー、インデックス、制約、定義、およびすべてのデータを削除します。

構文
DROP TABLE your_table_name;
ROLLBACK コマンドを使用して DROP 操作を元に戻すことはできません。

DELETE

DELETE コマンドは、指定されたテーブルから 1つまたは複数の行を削除します。これは、データ操作言語(DML)コマンドの 1つです。

1 行を DELETE する場合は、DELETE コマンドを WHERE 句とともに使用します。WHERE 句は、WHERE 句を省略することにより、テーブルからすべての行を削除します。

DELETE コマンドは、トランザクションログ内の削除されたすべての行を追跡するため、TRUNCATE コマンドよりも低速です。DELETE コマンドは、データベースから行を削除するだけで、テーブルは削除しません。

構文
#delete all rows from the table
DELETE FROM your_table_name;

#delete one row from the table
DELETE FROM your_table_name WHERE your_table_name.id = 1;
必要に応じて、ROLLBACK コマンドを使用して復元(元に戻す)できます。

TRUNCATE

TRUNCATE コマンドは DELETE コマンドと同様に機能しますが、データ定義言語(DDL)コマンドの 1つです。これは、WHERE 句を使用できないため、テーブルからすべての行を削除するために特に使用されます。

DELETE と同様に、TRUNCATE もテーブルをデータベースに保持しますが、行を削除します。このようにトランザクションログに 1 回だけ記録されるため、DELETE コマンドよりも高速です。

構文
TRUNCATE TABLE your_table_name;
ROLLBACK コマンドを使用して操作を元に戻すことはできません。

外部キーを使用して一方のテーブルがもう一方のテーブルに関連付けられているリレーショナルデータベースがある場合はどうなりますか。どうすれば今すぐ削除できますか?この場合、ON DELETE CASCADE オプションが追加されます。

メインテーブルで一方の行が削除されるたびに、外部キーを使用してもう一方のテーブルでも同じ行が削除されます。以下のサンプルコードで理解しましょう。tb_studenttb_course という名前の 2つのテーブルを作成しました。

CREATE TABLE tb_student
(
     id INT PRIMARY KEY,
     firstname varchar(8),
     lastname varchar(8),
     gender varchar(8)
);

CREATE TABLE tb_course
(
  course_id INT PRIMARY KEY,
  course_name varchar(8),
  student_id INT,
 FOREIGN KEY(student_id) 
 REFERENCES tb_student(id) 
 ON DELETE CASCADE
);

これらのテーブルにデータを入力します。完了すると、tb_student から行を削除するのが非常に簡単になります。

これは、tb_student から DELETE を実行するたびに、外部キーの ON DELETE CASCADE オプションにより、tb_course のそれぞれの行も削除されるためです。

まとめ

テーブルから 1つすべての行を削除するさまざまな方法を検討しました。また、データのみとテーブルとそのデータを削除することも学びました。このチュートリアルでは、外部キーとして別のテーブルに関連付けられている場合の安全な削除についても説明します。

著者: Mehvish Ashiq
Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

関連記事 - MySQL Delete