如何使⽤SQLDELETE语句删除表中的⼀⾏或多⾏
在本教程中,您将学习如何使⽤SQL DELETE语句删除表中的⼀⾏或多⾏。
1. SQL DELETE语句简介
要从表中删除⼀⾏或多⾏,请使⽤DELETE语句。DELETE语句的⼀般语法如下:
DELETE
FROM
sql中delete用法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语句⽤法,以及如何应⽤它来删除表中的⼀⾏或多⾏。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。