HOWTO · MySQL

使用 phpMyAdmin 刪除 MySQL 資料庫中的所有行

在本指南中,我們將瞭解使用 phpMyAdmin 從 MySQL 資料庫中刪除所有行的最佳方法。

本頁內容

我們將學習使用 phpMyAdmin 刪除 MySQL 資料庫中所有行的最佳方法。我們將探索 DELETE 命令以從給定表中刪除行。

我們還將瞭解 DELETE、DROP 和 TRUNCATE 命令之間的區別。如果我們在表中有關聯的外來鍵,我們將看到如何在 MySQL 中 DELETE 行。

我們使用的是 MySQL 版本 8.0.27,你可以從這裡下載最新版本。

使用 phpMyAdmin 刪除 MySQL 資料庫中的行

在 phpMyAdmin 中,你可以通過兩種方式簡單地刪除行。你可以使用圖形使用者介面 (GUI) 選項和 SQL 查詢來完成。

讓我們在下面瞭解它們中的每一個。

在沒有 SQL 查詢的 phpMyAdmin 中刪除行

在某些情況下,你必須一次性刪除一張表中的所有行。單擊檢查所有,然後按刪除執行此操作。

使用 phpmyadmin 刪除 mysql 資料庫中所有行的最佳方法 - 刪除 phpmyadmin 中的所有行

如果你只想從所選表中刪除一行,請單擊刪除按鈕刪除該特定行。請參閱下圖。

使用 phpmyadmin 刪除 mysql 資料庫中所有行的最佳方法 - 刪除 phpmyadmin 中的一行

如果你想刪除一行或多行但不是全部,你可以先檢查它們,然後按 Delete。你可以通過檢視以下螢幕截圖來按照說明進行操作。

使用 phpmyadmin 刪除 mysql 資料庫中所有行的最佳方法 - 刪除 phpmyadmin 中的多行

如果要從不同的表中刪除行,則必須轉到每個表,然後如上所述刪除。這需要時間和精力。

在這裡,SQL 查詢開始發揮作用,使工作變得非常容易。

使用 SQL 查詢刪除 phpMyAdmin 中的行

你可以根據專案要求使用三種不同的方式來實現你的目標。讓我們一一瞭解它們以使用它們。

你可能正在考慮在使用 phpMyAdmin 時在哪裡編寫 SQL 查詢。你可以在 SQL 選項卡下的 phpMyAdmin 中編寫 SQL 查詢(請參見下面給出的螢幕截圖)。

按右下角的 Go 按鈕或按 Ctrl+Enter 鍵執行查詢。

使用 phpmyadmin 刪除 mysql 資料庫中所有行的最佳方法 - 在 phpmyadmin 中使用 sql 查詢刪除

DROP

DROP 是 Data Definition Language 命令 (DDL) 之一。

該命令用於一次性 DROP 整個表。它會刪除該表的許可權、觸發器、索引、約束、定義和所有資料。

語法
DROP TABLE your_table_name;
注意
我們不能使用 ROLLBACK 命令撤消 DROP 操作。

DELETE

DELETE 命令從給定表中刪除一行或多行。它是 Data Manipulation Language (DML) 命令之一。

DELETE 命令與 WHERE 子句一起使用,如果你想 DELETE 一行。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) 命令之一。它專門用於刪除表中的所有行,因為它不允許使用 WHERE 子句。

與 DELETE 類似,TRUNCATE 也將表保留在資料庫中,但刪除行。由於它只在事務日誌中記錄一次,因此它比 DELETE 命令快。

語法
TRUNCATE TABLE your_table_name;
注意
我們不能使用 ROLLBACK 命令撤消操作。

如果你有一個關聯式資料庫,其中一個表使用外來鍵與另一個表關聯,該怎麼辦。現在怎麼刪?在這種情況下,新增了 ON DELETE CASCADE 選項。

每當在主表中刪除一行時,同一行也將在具有外來鍵的另一表中刪除。讓我們通過下面給出的示例程式碼來理解。我們建立了兩個名為 tb_student 和 tb_course 的表。

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 中刪除時,由於外來鍵上的 ON DELETE CASCADE 選項,tb_course 中的相應行也將被刪除。

まとめ

我們探索了從表中刪除一行和所有行的不同方法。我們還學會了只刪除資料和表及其資料。本教程還強調了在與另一個表關聯作為外來鍵的情況下的安全刪除。