使用 phpMyAdmin 删除 MySQL 数据库中的所有行

Mehvish Ashiq 2024年2月15日
  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
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