MySQL Delete From指令使用方法
1. 概述
在MySQL中,DELETE FROM语句用于从表中删除记录。它可以根据指定的条件删除表中的行,也可以一次删除整个表中的所有行。
本文将详细介绍MySQL的DELETE FROM指令的使用方法,包括语法、参数和示例。
2. 语法
DELETE FROM语句的基本语法如下:
DELETE FROM 表名
[WHERE 条件];
其中,表名
是需要进行删除操作的表的名称。
WHERE 条件
是可选项,用于指定删除的条件。如果没有指定条件,则将删除表中的所有行。
3. 参数
DELETE FROM指令的参数如下所示:
表名
:需要进行删除操作的表的名称。WHERE 条件
:可选项,用于指定删除的条件。
4. 示例
4.1 删除表中的所有行
要删除表中的所有行,只需使用DELETE FROM语句,并不指定WHERE条件,如下所示:
DELETE FROM 表名;
示例代码如下所示:
-- 删除表中的所有行
DELETE FROM students;
运行结果如下:
Query OK, 10 rows affected (0.05 sec)
4.2 删除符合条件的行
要删除表中符合特定条件的行,需要使用DELETE FROM语句,并指定WHERE条件。
例如,假设我们有一个名为students
的表,其中包含了学生的ID、姓名和年龄。我们想要删除年龄小于18岁的学生记录,可以使用以下代码:
DELETE FROM students
WHERE age < 18;
示例代码如下所示:
-- 删除年龄小于18岁的学生记录
DELETE FROM students
WHERE age < 18;
运行结果如下:
Query OK, 2 rows affected (0.06 sec)
4.3 删除表中指定的行
我们可以使用DELETE FROM语句根据指定的条件删除表中的行。
例如,我们有一个名为students
的表,其中包含了学生的ID、姓名和年龄。如果我们想要删除具有特定ID的学生记录,可以使用以下代码:
DELETE FROM students
WHERE id = 1;
示例代码如下所示:
-- 删除ID为1的学生记录
DELETE FROM students
WHERE id = 1;
运行结果如下:
Query OK, 1 row affected (0.05 sec)
4.4 删除表中重复的行
有时候,我们可能需要删除表中的重复行。为了实现这一点,我们可以使用DELETE FROM语句结合子查询来删除表中的重复行。
例如,假设我们有一个名为students
的表,其中包含了学生的ID、姓名和年龄。如果我们想要删除重复的年龄记录,可以使用以下代码:
DELETE FROM students
WHERE id NOT IN (
SELECT MIN(id)
FROM students
GROUP BY age
);
示例代码如下所示:
-- 删除表中的重复年龄记录
DELETE FROM students
WHERE id NOT IN (
SELECT MIN(id)
FROM students
GROUP BY age
);
运行结果如下:
Query OK, 3 rows affected (0.06 sec)
5. 小结
本文介绍了MySQL的DELETE FROM指令的使用方法,包括语法、参数和示例。通过本文的学习,你应该了解如何使用DELETE FROM指令来删除表中的行,并掌握了一些常见的用法。