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

Mehvish Ashiq 2023年1月30日 2022年5月13日
  1. 使用 phpMyAdmin 刪除 MySQL 資料庫中的行
  2. まとめ
使用 phpMyAdmin 刪除 MySQL 資料庫中的所有行

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

我們還將瞭解 DELETEDROPTRUNCATE 命令之間的區別。如果我們在表中有關聯的外來鍵,我們將看到如何在 MySQLDELETE 行。

我們使用的是 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

DROPData 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_studenttb_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 中的相應行也將被刪除。

まとめ

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

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