pgsql 的 returning
在 PostgreSQL 中,returning
是一个非常有用的功能,它允许在插入,更新或者删除数据时,返回受影响的行。这个功能可以让我们在操作数据之后,立即获取到修改后的数据,而无需再次查询数据库。
插入时使用 returning
在插入数据时,我们可以使用 returning
来获取插入的数据。下面是一个示例代码:
-- 创建表
CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(50)
);
-- 插入数据并使用 returning 获取数据
INSERT INTO users (name) VALUES ('Alice') RETURNING *;
在上面的示例代码中,我们创建了一个名为 users
的表,然后向表中插入了一条数据,同时使用 returning *
获取插入的数据。运行上面的代码后,我们将会得到插入的数据:
id | name
----+-------
1 | Alice
(1 row)
更新时使用 returning
在更新数据时,同样可以使用 returning
来获取更新后的数据。下面是一个示例代码:
-- 更新数据并使用 returning 获取数据
UPDATE users SET name = 'Bob' WHERE id = 1 RETURNING *;
在上面的示例代码中,我们更新了 users
表中 id
为 1
的数据的 name
字段,并使用 returning *
获取更新后的数据。运行上面的代码后,我们将会得到更新后的数据:
id | name
----+------
1 | Bob
(1 row)
删除时使用 returning
在删除数据时同样可以使用 returning
来获取删除的数据。下面是一个示例代码:
-- 删除数据并使用 returning 获取数据
DELETE FROM users WHERE id = 1 RETURNING *;
在上面的示例代码中,我们删除了 users
表中 id
为 1
的数据,并使用 returning *
获取删除的数据。运行上面的代码后,我们将会得到删除的数据:
id | name
----+------
1 | Bob
(1 row)
通过上面的示例代码,我们可以看到在 PostgreSQL 中使用 returning
可以非常方便地获取到操作数据后的结果。这个功能在实际开发中非常实用,可以减少不必要的数据库查询,提高数据操作的效率。