Postgres Python 查询导入 pg 与导入 psycopg2
Posted
技术标签:
【中文标题】Postgres Python 查询导入 pg 与导入 psycopg2【英文标题】:Postgres Python Query import pg vs import psycopg2 【发布时间】:2017-08-03 20:02:57 【问题描述】:我正在编辑一个 python 脚本,我需要检查一个表是否存在。但是代码可以工作,因为我现在正在尝试检查表是否存在,所以我需要先了解发生了什么。
代码目前有:
import pg
con = pg.connect(...)
还有一堆调用:
con.query(...)
我在 SO:Checking if a postgresql table exists under python (and probably Psycopg2)
上找到了这个示例,但我不确定 psycopg2
是否与 pg
相同,而且我似乎在 pg
上找不到任何文档,所以我不知道是否 @ 987654328@ 可以做con.exucute(...)
类似于psycopg2
可以做的事情。
每当我搜索pg
时,我都会获得psycopg2
的文档。
有人知道两者的区别吗?
我可以将con.execute()
和con.cursor()
用于pg
吗?
【问题讨论】:
pg
很可能是对符合 DB-API 的 PyGreSQL 库的引用,psycopg2 也是如此,因此它们的操作应该相同——尽管通常您会使用 execute
方法游标对象而不是连接对象。
@rd_nielsen cursor
对象是否与 execute
一起行进并存储执行的最后一个值?
execute()
的结果可以通过cursor.fetchone()
或cursor.fetchall()
的游标对象获取。完整的 DB-API 规范在这里:python.org/dev/peps/pep-0249。无论您使用哪个库,都可能具有一些附加功能;您还应该检查该文档。
【参考方案1】:
pg
指 PyGreSQL 驱动:
http://www.pygresql.org/
PyGreSQL 是一个与 PostgreSQL 数据库接口的 Python 模块。它嵌入了 PostgreSQL 查询库,以便从 Python 脚本或应用程序中轻松使用强大的 PostgreSQL 功能。
PyGreSQL 由两部分组成:pg 模块提供的“经典”PyGreSQL 接口和 pgdb 模块提供的较新的 DB-API 2.0 兼容接口。
【讨论】:
以上是关于Postgres Python 查询导入 pg 与导入 psycopg2的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 SQL 使用特定于“pg”模块 Postgres 的“字符串插值”查询多条记录 [重复]