在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语句的所有内容,它允许我们从给定的数据库表中删除一行或多行。