使用 phpMyAdmin 刪除 MySQL 資料庫中的所有行
我們將學習使用 phpMyAdmin
刪除 MySQL
資料庫中所有行的最佳方法。我們將探索 DELETE
命令以從給定表中刪除行。
我們還將瞭解 DELETE
、DROP
和 TRUNCATE
命令之間的區別。如果我們在表中有關聯的外來鍵,我們將看到如何在 MySQL
中 DELETE
行。
我們使用的是 MySQL 版本 8.0.27,你可以從這裡下載最新版本。
使用 phpMyAdmin
刪除 MySQL
資料庫中的行
在 phpMyAdmin
中,你可以通過兩種方式簡單地刪除行。你可以使用圖形使用者介面 (GUI) 選項和 SQL 查詢來完成。
讓我們在下面瞭解它們中的每一個。
在沒有 SQL
查詢的 phpMyAdmin
中刪除行
在某些情況下,你必須一次性刪除一張表中的所有行。單擊檢查所有
,然後按刪除
執行此操作。
如果你只想從所選表中刪除一行,請單擊刪除
按鈕刪除該特定行。請參閱下圖。
如果你想刪除一行或多行但不是全部,你可以先檢查它們,然後按 Delete
。你可以通過檢視以下螢幕截圖來按照說明進行操作。
如果要從不同的表中刪除行,則必須轉到每個表,然後如上所述刪除。這需要時間和精力。
在這裡,SQL 查詢開始發揮作用,使工作變得非常容易。
使用 SQL
查詢刪除 phpMyAdmin
中的行
你可以根據專案要求使用三種不同的方式來實現你的目標。讓我們一一瞭解它們以使用它們。
你可能正在考慮在使用 phpMyAdmin
時在哪裡編寫 SQL
查詢。你可以在 SQL
選項卡下的 phpMyAdmin
中編寫 SQL
查詢(請參見下面給出的螢幕截圖)。
按右下角的 Go
按鈕或按 Ctrl+Enter 鍵執行查詢。
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
中的相應行也將被刪除。
まとめ
我們探索了從表中刪除一行和所有行的不同方法。我們還學會了只刪除資料和表及其資料。本教程還強調了在與另一個表關聯作為外來鍵的情況下的安全刪除。