在SQL中删除表

在SQL中,DELETE语句是一个数据操作语言语句,它允许我们从现有数据库表中删除一行或多行。该语句接受一个条件,查找符合指定条件的行,并将其从表中删除。

在本教程中,我们将研究SQL中的DELETE语句,了解如何使用它从表中删除现有行。

DELETE语句

SQL中DELETE语句的语法如下:

删除





table_name



在哪里



条件;

我们从DELETE子句开始,告诉数据库引擎我们希望删除一行或多行。

然后指定要从中删除行的表的名称。接下来,我们在WHERE子句中指定条件。这是一个重要的子句,因为它允许我们缩小希望删除的特定行。

如果省略WHERE子句,语句将从指定的表中删除所有行。请谨慎使用。

然后,该语句返回从表中删除的行数。

样表

在讨论如何使用DELETE语句的示例之前,先创建一个基本表以进行演示。

CREATE TABLE语句如下:

创建表


INT主键AUTO_INCREMENT;


product_name VARCHAR (255),


类别VARCHAR (255),


price DECIMAL(10,2),


量INT,


expiration_date日期,


条形码长整型数字


);

一旦我们创建了表,我们就可以将样例数据插入到表中,如下面的插入语句所示:

插入



产品(product_name,


类别,


价格,


量,


expiration_date,


条形码)


值('厨师帽25cm',


“面包房”,


24.67,


57岁的


“2023-09-09”,


2854509564204);



插入



产品(product_name,


类别,


价格,


量,


expiration_date,


条形码)


价值(“鹌鹑蛋罐头”、


“储藏室”,


17.99,


67年,


“2023-09-29”,


1708039594250);



插入



产品(product_name,


类别,


价格,


量,


expiration_date,


条形码)


价值(“咖啡-蛋诺卡布奇诺”,


“面包房”,


92.53,


10,


“2023-09-22”,


8704051853058);



插入



产品(product_name,


类别,


价格,


量,


expiration_date,


条形码)


价值('梨-多刺',


“面包房”,


65.29,


48,


“2023-08-23”,


5174927442238);



插入



产品(product_name,


类别,


价格,


量,


expiration_date,


条形码)


价值(“意面-天使的头发”,


“储藏室”,


48.38,


59岁的


“2023-08-05”,


8008123704782);

这将为我们提供如下表格:

例1:删除单行

最基本的删除操作是从表中删除单行。为此,可以使用具有唯一值的列来标识目标行。

例如,如果我们想要删除ID为9的“Pork - Shoulder”行,我们可以使用下面的子句:

删除



产品


在哪里


product_id = 9;

这将删除ID号为9的行。由于“product_id”列是主键,因此应该只有一行包含该值。

例2:删除多行

要删除多行,我们可以使用WHERE子句为目标行设置条件。我们可以使用IN、NOT IN、LIKE等条件操作符。

例如,假设我们希望删除食品室和产品类别的所有行。我们可以这样使用查询:

删除



产品


在哪里


类别IN ('produce', 'bakery');

这应该匹配“category”列中的“produce”和“bakery”值,并删除符合该条件的任何行。

结论

在本教程中,我们学习了关于DELETE语句的所有内容,它允许我们从给定的数据库表中删除一行或多行。