参考资料

  1. MySQL 复制表详细说明以及案例
  2. 使用 MySQL 二进制方式连接
  3. MySQL 临时表详细说明以及案例
  4. MySQL WHERE 子句详细说明以及案例
  5. MySQL ORDER BY(排序) 语句详细说明以及案例
  6. MySQL 索引详细说明以及案例
  7. MySQL 元数据详细说明以及案例
  8. MySQL 导入数据详细说明以及案例

MySQL DELETE 语句详细说明以及案例

MySQL 的 DELETE 语句用于从表中删除记录。以下是 DELETE 语句的详细说明和案例。

语法

DELETE FROM table_name
WHERE condition;
  • table_name:要删除记录的表名。

  • condition:指定删除哪些记录的条件。如果省略 WHERE 子句,将删除表中的所有记录。

注意事项

  1. 删除操作不可逆,执行前需谨慎。

  2. 如果表有外键约束,删除操作可能会失败或级联删除相关记录。

  3. 使用 WHERE 子句可以精确控制删除的记录。

案例

假设有一个名为 employees 的表,结构如下:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    name VARCHAR(100),
    department VARCHAR(50),
    salary DECIMAL(10, 2)
);

表中数据如下:

+----+----------+------------+--------+
| id | name     | department | salary |
+----+----------+------------+--------+
| 1  | Alice    | HR         | 5000   |
| 2  | Bob      | IT         | 6000   |
| 3  | Charlie  | HR         | 5500   |
| 4  | David    | IT         | 7000   |
+----+----------+------------+--------+

案例 1:删除特定记录

删除 id 为 3 的员工记录:

DELETE FROM employees
WHERE id = 3;

执行后,employees 表数据如下:

+----+--------+------------+--------+
| id | name   | department | salary |
+----+--------+------------+--------+
| 1  | Alice  | HR         | 5000   |
| 2  | Bob    | IT         | 6000   |
| 4  | David  | IT         | 7000   |
+----+--------+------------+--------+

案例 2:删除符合条件的所有记录

删除 departmentHR 的所有员工记录:

DELETE FROM employees
WHERE department = 'HR';

执行后,employees 表数据如下:

+----+--------+------------+--------+
| id | name   | department | salary |
+----+--------+------------+--------+
| 2  | Bob    | IT         | 6000   |
| 4  | David  | IT         | 7000   |
+----+--------+------------+--------+

案例 3:删除所有记录

删除 employees 表中的所有记录:

DELETE FROM employees;

执行后,employees 表将为空。

总结

  • DELETE 语句用于删除表中的记录。

  • 使用 WHERE 子句可以精确控制删除的记录。

  • 删除操作不可逆,需谨慎执行。