gpt4 book ai didi

python - Psycopg2 或 SQLAlchemy 中的多个 SELECT

转载 作者:行者123 更新时间:2023-11-28 19:23:12 24 4
gpt4 key购买 nike

我想一次执行多个 SELECT 语句,就像我做的那样

echo "SELECT * FROM x; SELECT * FROM y;" | psql

这样我就可以只向数据库发送一次数据,并立即收到所有结果。

如果用 SQLAlchemy 来完成它会是完美的,但它似乎不受支持(不是吗?)。

我想我可能会重新实现 SQLAlchemy 的某些部分以获得该功能,但我也没有在 psycopg2 中找到解决此问题的方法 - 执行两个用分号分隔的查询只给出最后一个查询的结果。

那么,是否可以使用 SQLAlchemy(这将是完美的)或使用 psycopg2(这也可以)?

最佳答案

Bartosz - 我遇到了类似的问题,两年前遇到了你的问题。解决这个问题的一种方法可能是使用 Postgres json 支持。您可以做的是构造两个选择查询,将行输出转换为 json,将它们结合在一起,然后用 python 或您使用的任何语言进行解码。这会在一次数据库往返中获取数据。

您可以使用 postgres 提供的其他 json 构造函数,例如 row_to_json: http://www.postgresql.org/docs/9.3/static/functions-json.html

SELECT to_json((a, b, c))
FROM x

UNION ALL

SELECT to_json((d, e, f, g, h, i))
FROM y

希望对你有帮助

关于python - Psycopg2 或 SQLAlchemy 中的多个 SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19785417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com