在 PostgreSQL 中,数据操纵是指对数据库中的数据进行插入、更新、删除和查询等操作。以下是一些常见的数据操纵操作的示例:

1. 插入数据(INSERT):

插入新数据到表中:
-- 插入单行数据
INSERT INTO employees (employee_id, first_name, last_name)
VALUES (1, 'John', 'Doe');

-- 插入多行数据
INSERT INTO employees (employee_id, first_name, last_name)
VALUES
  (2, 'Jane', 'Smith'),
  (3, 'Bob', 'Johnson');

2. 更新数据(UPDATE):

更新表中的现有数据:
-- 更新单个字段
UPDATE employees
SET salary = 60000
WHERE employee_id = 1;

-- 更新多个字段
UPDATE employees
SET salary = 70000,
    department = 'Sales'
WHERE employee_id = 2;

3. 删除数据(DELETE):

从表中删除数据:
-- 删除单个行
DELETE FROM employees
WHERE employee_id = 3;

-- 删除所有行(谨慎使用!)
DELETE FROM employees;

4. 查询数据(SELECT):

从表中检索数据:
-- 检索所有数据
SELECT * FROM employees;

-- 检索特定字段
SELECT employee_id, first_name, last_name
FROM employees;

-- 使用条件检索数据
SELECT *
FROM employees
WHERE department = 'IT';

5. 合并数据(MERGE):

在 PostgreSQL 中,可以使用 INSERT ... ON CONFLICT 语句实现合并(Merge)操作。它允许在插入新行时处理冲突。
INSERT INTO employees (employee_id, first_name, last_name)
VALUES (4, 'Alice', 'Johnson')
ON CONFLICT (employee_id)
DO UPDATE SET
  first_name = EXCLUDED.first_name,
  last_name = EXCLUDED.last_name;

6. 事务处理:

事务用于确保一系列操作要么全部成功,要么全部失败。在 PostgreSQL 中,可以使用 BEGIN, COMMIT 和 ROLLBACK 语句来管理事务。
BEGIN;

-- 一系列数据操纵操作

COMMIT; -- 或 ROLLBACK;

7. 使用存储过程:

在 PostgreSQL 中,可以使用 PL/pgSQL 编写存储过程,将一系列数据操纵操作封装在一个单独的过程中。
CREATE OR REPLACE PROCEDURE update_employee_salary(employee_id INT, new_salary INT) AS $$
BEGIN
  UPDATE employees
  SET salary = new_salary
  WHERE employee_id = employee_id;
END;
$$ LANGUAGE plpgsql;

以上只是 PostgreSQL 中数据操纵操作的基本示例。实际应用中,根据具体的需求和业务逻辑,可能需要更复杂的查询、更新和删除操作。在进行任何数据操纵操作之前,请确保了解数据表的结构和约束,并谨慎执行操作,特别是在生产环境中。


转载请注明出处:http://www.zyzy.cn/article/detail/8134/PostgreSQL