在 SQL 中,你可以使用 DELETE
查询和 WHERE
子句删除表中的一行。
在本文中,我将向你介绍如何使用 DELETE
查询和 WHERE
子句删除行。我还将向你展示如何一次从表中删除多行。
如何在 SQL 中使用 DELETE 查询
这是使用 DELETE
查询的基本语法:
DELETE FROM table_name
WHERE condition of which row(s) to delete;
在本例中,我们有一个名为 cats
的表,目前有10 行,列将是 id
、name
和 gender
。
我们要删除 id
为 8 的行,即 Loki 的行。
DELETE
查询的第一行如下所示:
DELETE FROM cats
在第二行中,我们将通过在 WHERE
子句后使用 id=8
来指定哪一行。
WHERE id=8;
以下是删除 Loki 行的完整语法:
DELETE FROM cats
WHERE id=8;
这是新的 cats
表的样子:
我们可以看到我们的 DELETE
查询生效了,因为 Loki 的信息不再存在。
如何在 SQL 中从一个表删除多行
我们可以从 cats
表中删除多行的一种方法是将条件从 id
更改为 gender
。
如果我们只想删除包含公猫的行,那么我们可以使用 gender="M"
条件。
DELETE FROM cats
WHERE gender="M";
我们的新 cats
表看起来像这样:
现在,cats
表只显示雌性猫。
如何在 SQL 中使用 BETWEEN 运算符和 AND 运算符删除多行
如果我们想删除一个范围内的多行,我们可以使用 AND
运算符和 BETWEEN
运算符。
在这个例子中,我们想要删除 id
为 4-7 的行。
这是语法:
DELETE FROM cats
WHERE id BETWEEN 4 AND 7;
这是 DELETE
查询的结果:
我们可以看到第 1-3 行和第 8-10 行留在表中,已成功删除 4-7 的 id
。
如何在 SQL 中使用 IN 运算符删除多行
我们可以使用 IN
运算符指定要从 cats
表中删除哪些名称。
在这个例子中,我想从我们原来的 cat
表中删除 Lucy、Stella、Max 和 Tiger 的名字:
我们需要指定列并使用 IN
运算符列出我们要删除的名称。
DELETE FROM cats
WHERE name IN ("Lucy","Stella","Max","Tiger");
这就是新的结果:
我们的 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