📚 目录

  1. 概述
  2. 基本语法
  3. 使用 WHERE 子句
  4. 删除所有记录
  5. 使用 RETURNING 语句
  6. 删除与子查询
  7. 参考资料

🛠️ 概述

DELETE 语句用于从 PostgreSQL 数据库中的表中删除记录。通常,DELETE 语句会结合 WHERE 子句来删除特定的行。如果不使用 WHERE 子句,整个表的所有记录都会被删除。为了避免错误,最好在删除之前先确认条件是否正确。


📝 基本语法

DELETE 语句的基本语法如下:

DELETE FROM table_name
WHERE condition;

  • table_name:指定要删除记录的表。
  • condition:删除满足条件的记录,若没有此条件,则删除所有记录。

✂️ 使用 WHERE 子句

使用 WHERE 子句来指定删除条件,这样可以确保只删除符合特定条件的记录。

示例:

DELETE FROM employees
WHERE department = 'Sales';

此查询将删除所有 departmentSales 的员工记录。


🚫 删除所有记录

如果不使用 WHERE 子句,DELETE 语句会删除表中的所有记录,但表结构会保持不变。

示例:

DELETE FROM employees;

该查询将删除 employees 表中的所有记录。


🔄 使用 RETURNING 语句

RETURNING 子句可以用来返回删除的记录,以便查看已删除的数据。这在调试和日志记录中非常有用。

示例:

DELETE FROM employees
WHERE position = 'Intern'
RETURNING id, name;

该查询将删除所有职位为 Intern 的员工,并返回他们的 idname


🧑‍💻 删除与子查询

你可以使用子查询来删除数据。通过子查询,你可以根据另一个表中的数据删除记录。

示例(使用子查询):

DELETE FROM employees
WHERE department = (SELECT department_id FROM departments WHERE name = 'HR');

该查询将删除所有 department 列为 HR 部门的员工记录,通过子查询来获取 HR 部门的 ID。


📘 参考资料