如何使用SQLDELETE语句删除表中的一行或多行

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何使⽤SQLDELETE语句删除表中的⼀⾏或多⾏
在本教程中,您将学习如何使⽤SQL DELETE语句删除表中的⼀⾏或多⾏。

1. SQL DELETE语句简介
要从表中删除⼀⾏或多⾏,请使⽤DELETE语句。

DELETE语句的⼀般语法如下:
DELETE
FROM
table_name
WHERE
condition;
⾸先,提供要删除⾏的表名称(table_name)。

其次,在WHERE⼦句中指定条件以标识需要删除的⾏记录。

如果省略WHERE⼦句,则将删除表中的所有⾏记录。

因此,应始终谨慎使⽤DELETE语句。

⼀般来说,DELETE语句不会将结果集。

但是,它只返回已删除的⾏数。

更多教程请访问
2. SQL DELETE语句⽰例
我们将使⽤employees和dependents表来演⽰DELETE语句。

2. SQL删除表中的⼀⾏
使⽤以下DELETE语句从dependents表中删除ID为:16的⾏记录。

DELETE FROM dependents
WHERE
dependent_id = 16;
由于WHERE⼦句包含主键表达式,因此DELETE语句只删除⼀⾏。

可以使⽤以下语句验证是否已删除dependents中ID为:16的⾏记录:
SELECT
COUNT(*)
FROM
dependents
WHERE
dependent_id = 16;
3. SQL DELETE多⾏⽰例
要删除表中的多个⾏记录,请使⽤WHERE⼦句中的条件来选择要删除的⾏记录。

例如,以下语句使⽤IN运算符来删除dependents表
中id为100,101或102的信息。

DELETE FROM dependents
WHERE
employee_id IN (100 , 101, 102);
4. SQL DELETE来⾃相关表的⾏
⼀名员⼯可能有零个或多个家属,⽽⼀个受抚养⼈只属于⼀名员⼯。

dependents表中的employee_id列链接到employees表中的employee_id列。

员⼯与家属表之间的关系是⼀对多的。

从逻辑上讲,如果不引⽤员⼯,就不能存在依赖关系。

换句话说,当删除员⼯信息时,他/她的家属也必须要删除。

例如,要删除员⼯ID为199和所有员⼯的依赖项,需要执⾏两个DELETE语句,如下所⽰:
DELETE
FROM
employees
WHERE
employee_id = 199;
DELETE
FROM
dependents
WHERE
employee_id = 199;
⼤多数数据库系统都⽀持外键约束,因此当删除表中的⼀⾏时,外键表中的⾏也会⾃动删除。

因此,执⾏以下DELETE语句时:
DELETE
FROM
employees
WHERE
employee_id = 199;
在执⾏上⾯语句后,employee_id为199的所有⾏也会⾃动删除。

要更有效地从表中删除所有⾏,可以使⽤TRUNCATE TABLE语句,⽽不是使⽤不带WHERE⼦句的DELETE语句。

通过上⾯的⽰例和学习,您应该了解SQL DELETE语句⽤法,以及如何应⽤它来删除表中的⼀⾏或多⾏。

相关文档
最新文档