【转】 http://davidx.me/2010/11/04/using-psycopg2/
Psycopg2教程昨天承诺的psycopg2的教程一直没有写, 现在有点时间, 赶紧补上. psycopg2的安装就不说了, 下面来讲讲如何使用psycopg2来操作PostgreSQL.
1. 链接PostgreSQL并设定Cursor
import psycopg2
import psycopg2.extras
conn = psycopg2.connect(host=’localhost’, port=5432, user=’postgres’, password=’postgres’, database=’test’) # connect()也可以使用一个大的字符串参数, 比如”host=localhost port=5432 user=postgres password=postgres dbname=test”
cursor = conn.cursor(cursor_factory=psycopg2.extras.DictCursor) #这里创建的是一个字典Cursor, 这样返回的数据, 都是字典的形式, 方便使用
2. 执行SQL脚本
cursor.execute(‘SELECT * FROM test WHERE id > %s;’, (5,))
这里的使用有一些奇怪, 有几个地方需要说明. 首先, sql脚本必须以;结尾, 不可以省略. 其次, 不管sql中有几个参数, 都需要用%s代替, 只有%s, 不管值是字符还是数字, 一律%s. 最后, 第二个参数中, 一定要传如元祖, 哪怕只有一个元素, 像我刚才的例子一样, (5)这样是不行的.
3. 得到查询结果
psycopg2提供了3种得到结果的方式, fetchone(), fetchall()和fetchmany(). fetchone()返回一条结果, 如果找不到, 返回None. fetchall()返回所有结果, 如果找不到, 返回空list. fetchmany接收1个参数, 即返回的结果数, 每次调用, 游标向后移, 找不到了, 就返回空list.
4. 查看生成的sql脚本
cursor.mogrify(‘SELECT * FROM test WHERE a = %s AND b = %s;’, (‘a’, ‘b’))
mogrify()函数会返回生成的sql脚本, 用以查看生成的sql是否正确.
5. 查看上一条执行的脚本
cursor.query
这是一个只读的属性, 用以查看上次执行的sql脚本.
6. 插入数据
执行完INSERT, UPDATE, DELETE这样的sql脚本后, 需要conn.commit()提交一下, 才会把数据提交到数据库当中. 切记.
这里有几个小技巧, 大家肯定会用的上的.
1. 取得最后插入的记录的ID
在INSERT的语句最后面加上RETURNING id即可, 比如:
cursor.execute(‘INSERT INTO test (a, b) VALUES (%s, %s) RETURNING id;’, (‘a’, ‘b’))
item = cursor.fetchone()
print item[0] #这里就是刚才插入的记录的ID了
分享到:
相关推荐
Python3的`psycopg2`是一个非常重要的数据库适配器,专门用于与PostgreSQL数据库进行交互。在Python的开发环境中,特别是在数据处理和Web应用开发中,`psycopg2`扮演着不可或缺的角色。本资源包提供了在Linux CentOS...
Python 连接 PostgreSQL 数据库通常使用的是 Psycopg2 模块,这是一个 PostgreSQL 数据库适配器,遵循 Python 的 DB-API 规范。以下是对标题和描述中涉及知识点的详细解释: 1. **Psycopg2**: Psycopg2 是 Python ...
psycopg2是Python社区中广泛使用的 PostgreSQL 数据库适配器,它允许Python程序与PostgreSQL数据库进行交互。在本文中,我们将深入探讨psycopg2库的功能、安装过程、使用方法以及其在Python中的重要性。 首先,让...
`psycopg2`是一个高性能的Python-PostgreSQL接口,它是Python社区广泛使用的库,用于处理PostgreSQL数据库。它的核心功能包括创建和执行SQL查询、处理结果集、管理事务以及处理PostgreSQL特有的数据类型。2.8.2是该...
`psycopg2_binary`是Python与PostgreSQL数据库连接的便捷工具,尤其是`psycopg2_binary-2.9.1-cp37-cp37m-win_amd64.whl`这样的预编译包,使得在Windows 64位系统上使用Python 3.7的开发者能快速、无痛地安装和使用...
在Python编程中,数据库交互是不可或缺的一部分,而`psycopg2`是Python与PostgreSQL数据库之间的重要桥梁。PyPI(Python Package Index)作为Python社区的官方软件仓库,提供了大量的第三方库,包括我们今天要讨论的...
`psycopg3`是`psycopg2`的后续版本,它遵循Python 3的设计原则,对Python 3.6及更高版本提供全面支持。新版本带来了许多改进,包括性能优化、错误处理、代码简化以及更好的类型映射等。它的目标是提供一个更加现代化...
在 Windows 平台上使用 PostgreSQL需要安装此驱动包。 原下载地址是: http://www.djangoproject.com/r/python-pgsql/windows/
`psycopg2`是Python与PostgreSQL数据库交互的库,版本为2.8.6,其以`.tar.gz`格式提供的源代码包。这个压缩包主要用于在Python环境中搭建与PostgreSQL数据库连接的功能,使得开发者能够方便地进行数据的读取、写入和...
总的来说,Python通过 `psycopg2` 库为PostgreSQL数据库提供了丰富的操作接口,使得在Python应用程序中进行数据库管理变得简单高效。无论是创建新表、插入数据、更新记录还是删除信息,都可以通过编写直观的Python...
Python中的`queries`库是基于`psycopg2`的一个封装,旨在简化与PostgreSQL数据库的交互。`psycopg2`是Python中广泛使用的PostgreSQL数据库适配器,它提供了丰富的功能,包括连接管理、SQL执行、事务处理以及类型映射...
**psycopg2** 是Python中最广泛使用的PostgreSQL适配器,它允许开发者直接在Python代码中执行SQL查询,处理结果集,甚至进行高级的数据库操作。这个库提供了一种高效、稳定和可靠的连接方式,使得Python和PostgreSQL...
在Python中,通常会使用如`psycopg2`这样的库来连接和操作PostgreSQL数据库。`psycopg2`是Python的一个扩展模块,提供了与PostgreSQL数据库通信的接口。比对程序可能使用了SQL查询来获取数据库的表结构、索引、约束...
离线安装Python的pg环境指的是在没有网络连接或者网络环境不稳定的情况下,为Python环境安装用于与PostgreSQL数据库交互的psycopg2库。PostgreSQL是一种开源的关系型数据库管理系统,而psycopg2是Python的一个扩展...
`psycopg2`是一款针对PostgreSQL数据库的Python适配器,它使得Python程序能够方便地与PostgreSQL进行交互。在Python的生态系统中,`psycopg2`是广泛使用且备受推崇的库之一,特别是在处理数据库连接、查询以及数据...
`psycopg2`是Python中一个非常著名的 PostgreSQL 数据库适配器,它的版本号为2.9.2,对应的压缩包文件为"psycopg2-2.9.2.tar.gz"。这个压缩包包含了用于在Python应用程序中与PostgreSQL数据库进行交互的所有必要组件...
Python提供了多种方式与PostgreSQL交互,其中最常用的是通过第三方库psycopg2。下面将详细介绍如何使用Python的psycopg2模块连接和操作PostgreSQL数据库。 首先,确保已经安装了psycopg2库。在命令行或终端中运行`...