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