• 如何使用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语句示例

    我们将使用employeesdependents表来演示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表中id100,101102的信息。

    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_id199的所有行也会自动删除。

    要更有效地从表中删除所有行,可以使用TRUNCATE TABLE语句,而不是使用不带WHERE子句的DELETE语句。

    通过上面的示例和学习,您应该了解SQL DELETE语句用法,以及如何应用它来删除表中的一行或多行。

  • 相关阅读:
    HDFS高阶
    Flume学习笔记
    Yarn学习笔记
    二进制中1的个数
    二叉搜索树的后序遍历
    空指针
    web第十天总结
    绩效考核系统
    制作流程图,activity,好不容易找到的
    职业规划
  • 原文地址:https://www.cnblogs.com/myhomepages/p/15822629.html
Copyright © 2020-2023  润新知