在 SQL 中,你可以使用 DELETE 查询和 WHERE 子句删除表中的一行。

在本文中,我将向你介绍如何使用 DELETE 查询和 WHERE 子句删除行。我还将向你展示如何一次从表中删除多行。

如何在 SQL 中使用 DELETE 查询

这是使用 DELETE 查询的基本语法:

DELETE FROM table_name
WHERE condition of which row(s) to delete;

在本例中,我们有一个名为 cats 的表,目前有10 行,列将是 idnamegender

Screen-Shot-2021-09-23-at-2.28.51-AM

我们要删除 id 为 8 的行,即 Loki 的行。

Screen-Shot-2021-09-23-at-2.30.10-AM

DELETE 查询的第一行如下所示:

DELETE FROM cats

在第二行中,我们将通过在 WHERE 子句后使用 id=8 来指定哪一行。

WHERE id=8;

以下是删除 Loki 行的完整语法:

DELETE FROM cats
WHERE id=8;

这是新的 cats 表的样子:

Screen-Shot-2021-09-23-at-2.31.22-AM

我们可以看到我们的 DELETE 查询生效了,因为 Loki 的信息不再存在。

Screen-Shot-2021-09-23-at-2.31.40-AM

如何在 SQL 中从一个表删除多行

我们可以从 cats 表中删除多行的一种方法是将条件从 id 更改为 gender

如果我们只想删除包含公猫的行,那么我们可以使用 gender="M" 条件。

DELETE FROM cats
WHERE gender="M";

我们的新 cats 表看起来像这样:

Screen-Shot-2021-09-23-at-2.32.55-AM

现在,cats 表只显示雌性猫。

如何在 SQL 中使用 BETWEEN 运算符和 AND 运算符删除多行

如果我们想删除一个范围内的多行,我们可以使用 AND 运算符和 BETWEEN 运算符。

在这个例子中,我们想要删除 id 为 4-7 的行。

这是语法:

DELETE FROM cats
WHERE id BETWEEN 4 AND 7;

这是 DELETE 查询的结果:

Screen-Shot-2021-09-23-at-2.41.48-AM

我们可以看到第 1-3 行和第 8-10 行留在表中,已成功删除 4-7 的 id

如何在 SQL 中使用 IN 运算符删除多行

我们可以使用 IN 运算符指定要从 cats 表中删除哪些名称。

在这个例子中,我想从我们原来的 cat 表中删除 Lucy、Stella、Max 和 Tiger 的名字:

Screen-Shot-2021-09-23-at-2.48.48-AM

我们需要指定列并使用 IN 运算符列出我们要删除的名称。

DELETE FROM cats
WHERE name IN ("Lucy","Stella","Max","Tiger");

这就是新的结果:

Screen-Shot-2021-09-23-at-2.55.29-AM

我们的 DELETE 查询成功了,因为那四只猫不再出现在表中。

SQL 如何删除表中的所有记录

如果要从表中删除所有信息,则可以使用以下语法:

DELETE FROM table_name;

为了从我们的 cats 表中删除所有的猫,我们将使用这个代码。

DELETE FROM cats;

总结

在本文中,我们了解了从 SQL 表中删除信息的不同方法。

这是使用 DELETE 查询的基本语法:

DELETE FROM table_name
WHERE condition of which row(s) to delete;

如果要从表中删除一行,则必须指定一个条件。

WHERE id=8;

有几种方法可以删除表中的多行。

如果要删除某个范围内的多行,可以将 AND 运算符与 BETWEEN 运算符一起使用。

DELETE FROM table_name
WHERE column_name BETWEEN value 1 AND value 2;

删除多行的另一种方法是使用 IN 运算符。

DELETE FROM table_name
WHERE column_name IN (value 1, value 2, value 3, etc...);

如果要从表中删除所有记录,则可以使用此语法。

DELETE FROM table_name;

我希望你喜欢这篇文章,并祝你在 SQL 之旅中好运。

原文:How to Delete a Row in SQL – Example Query,作者:Jessica Wilkins