MySQL 删除语句可帮助我们从表中删除不需要的行或数据。您可以使用此删除命令删除临时表和永久表。
DELETE 命令可删除表中的单行、多行或所有记录。它是从数据库表中删除不必要数据最强大的命令之一。
MySQL 删除语法
DELETE 命令的基本语法如下所示。
DELETE FROM `Schema_Name`.`Table_Name` [WHERE Conditions]; — Optional
我将使用下表来演示此删除命令。

从命令提示符删除 MySQL 数据
在此示例中,我们将使用命令提示符或终端从表中删除记录。
DELETE FROM sqltest.newemployees WHERE EmpID = 1

注意:如果未使用 WHERE 子句,则此命令将删除表中的所有记录。因此,请始终使用 WHERE 子句来限制要删除的记录。
删除单行
在此示例中,我们使用 WHERE 子句删除了 employeeId = 4 的记录。
DELETE FROM newemployees WHERE EmpID = 4;

让我们看看剩余的数据。

删除多行
在这里,我们正在删除部门 ID = 1 的记录。如您所见,有许多行与此部门 ID 相关联。让我们看看其中有多少被删除了。
DELETE FROM newemployees WHERE DeptID = 1;

从下面的屏幕截图可以看出,它删除了所有部门 ID = 1 的员工。

MySQL 删除带有多重条件
我将向您展示如何使用 WHERE 子句中的多个条件来删除记录。以下查询删除了 FirstName 为 John 且 Sales 小于 1000 的行。
DELETE FROM newemployees WHERE FirstName = 'John' AND Sales < 1000;

此表中的剩余数据是:

MySQL 删除限制
通过使用 ORDER BY 子句 和 LIMIT 子句,您可以根据需要删除前五行或后十行。在这里,我们删除了销售额最高的前两条记录。
DELETE FROM newemployees ORDER BY Sales DESC LIMIT 2;

新员工表中的剩余数据。

删除带有 NULL 的行
此查询删除部门 ID 为 NULL 的行。您可以使用 IS NOT NULL 尝试删除 ID 不为 NULL 的行。
DELETE FROM newemployees WHERE DeptID IS NULL;

删除 3 条记录后,员工表。

删除所有行
如果您忘记包含 WHERE 子句,它将删除表中的所有记录。
DELETE FROM newemployees;

您可以在此处看到一个空表。

从 Workbench 执行
如果您可以访问 MySQL Workbench,您可以选择要执行删除操作的表。接下来,选择“发送到 SQL 编辑器”,然后选择下面显示的选项。

它会生成以下 MySQL 代码。您可以根据需要修改 WHERE 子句。
DELETE FROM `sqltest`.`department4`
WHERE <{where_expression}>;