如何使用SQL DELETE语句删除表中的一行或多行
在本教程中,您将学习如何使用SQL DELETE
语句删除表中的一行或多行。
1. SQL DELETE语句简介
要从表中删除一行或多行,请使用DELETE
语句。 DELETE
语句的一般语法如下:
DELETE
FROM
table_name
WHERE
condition;
- 首先,提供要删除行的表名称(
table_name
)。 - 其次,在
WHERE
子句中指定条件以标识需要删除的行记录。 如果省略WHERE
子句,则将删除表中的所有行记录。 因此,应始终谨慎使用DELETE
语句。
一般来说,DELETE
语句不会将结果集。 但是,它只返回已删除的行数。更多教程请访问 http://www.manongzj.com
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
语句用法,以及如何应用它来删除表中的一行或多行。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~