MySQL DELETE FROM WHERE AND:删除满足多个条件的数据

MySQL是一种流行的关系型数据库管理系统,广泛应用于Web开发和数据分析等领域。其中,DELETE FROM WHERE AND是一条常用的SQL语句,用于从数据库中删除满足多个条件的数据。本文将介绍DELETE FROM WHERE AND的用法,并提供相关的代码示例。

DELETE FROM WHERE AND语法

DELETE FROM WHERE AND语句用于从数据库中删除满足多个条件的数据。其基本语法如下:

DELETE FROM <表名> WHERE <条件1> AND <条件2> AND ...;

其中,<表名>表示要删除数据的表名,<条件1>、<条件2>等表示要满足的条件。AND关键字用于连接多个条件,表示这些条件同时满足时才删除相应的数据。

示例情景

假设我们有一个名为students的表,存储了学生的信息,包括学生的ID、姓名和分数等字段。现在我们要删除所有分数低于60且姓“张”的学生数据。

创建示例数据表

首先,我们需要创建一个示例的students表,并插入一些测试数据。可以使用以下SQL语句执行此操作:

CREATE TABLE students (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(100) NOT NULL,
  score INT NOT NULL
);

INSERT INTO students (name, score) VALUES ('张三', 80);
INSERT INTO students (name, score) VALUES ('李四', 90);
INSERT INTO students (name, score) VALUES ('张五', 70);
INSERT INTO students (name, score) VALUES ('王六', 50);
INSERT INTO students (name, score) VALUES ('张七', 55);

上述代码创建了一个名为students的表,并插入了5条测试数据。

删除满足多个条件的数据

接下来,我们将使用DELETE FROM WHERE AND语句删除满足多个条件的数据。根据我们的示例情景,我们需要删除分数低于60且姓“张”的学生数据。

DELETE FROM students WHERE score < 60 AND name LIKE '张%';

以上代码将从students表中删除所有分数低于60且姓“张”的学生数据。执行后,我们可以使用以下代码验证删除结果:

SELECT * FROM students;

查询结果如下:

+----+------+-------+
| id | name | score |
+----+------+-------+
|  2 | 李四 |    90 |
+----+------+-------+

可以看到,分数低于60且姓“张”的学生数据已被成功删除。

总结

DELETE FROM WHERE AND是MySQL中用于删除满足多个条件的数据的语句。通过使用该语句,我们可以方便地从数据库中删除特定条件的数据。在实际应用中,我们可以根据具体需求指定不同的条件,以满足特定的删除需求。

希望本文对你理解和使用DELETE FROM WHERE AND语句有所帮助。如果你想进一步了解MySQL或其他SQL语句的更多用法,请查阅相关文档和资料。

类图

以下是本文所使用的示例数据表的类图:

classDiagram
    class students {
        + id : int
        + name : string
        + score : int
        --
        + __construct(name: string, score: int)
        + getId() : int
        + getName() : string
        + getScore() : int
    }

以上类图描述了示例中的students表的结构,包括id、name和score字段等。

参考资料

  • [MySQL DELETE FROM WHERE](
  • [MySQL DELETE Statement](