`
daigong
  • 浏览: 116389 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Python PostgreSQL Psycopg2

阅读更多
【转】 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安装包

    Python3的`psycopg2`是一个非常重要的数据库适配器,专门用于与PostgreSQL数据库进行交互。在Python的开发环境中,特别是在数据处理和Web应用开发中,`psycopg2`扮演着不可或缺的角色。本资源包提供了在Linux CentOS...

    Python 连接Postgresql psycopg21

    Python 连接 PostgreSQL 数据库通常使用的是 Psycopg2 模块,这是一个 PostgreSQL 数据库适配器,遵循 Python 的 DB-API 规范。以下是对标题和描述中涉及知识点的详细解释: 1. **Psycopg2**: Psycopg2 是 Python ...

    psycopg2-2.8.2.tar_psycopg2_python_

    psycopg2是Python社区中广泛使用的 PostgreSQL 数据库适配器,它允许Python程序与PostgreSQL数据库进行交互。在本文中,我们将深入探讨psycopg2库的功能、安装过程、使用方法以及其在Python中的重要性。 首先,让...

    PyPI 官网下载 | psycopg2-2.8.2-cp37-cp37m-win32.whl

    `psycopg2`是一个高性能的Python-PostgreSQL接口,它是Python社区广泛使用的库,用于处理PostgreSQL数据库。它的核心功能包括创建和执行SQL查询、处理结果集、管理事务以及处理PostgreSQL特有的数据类型。2.8.2是该...

    PyPI 官网下载 | psycopg2_binary-2.9.1-cp37-cp37m-win_amd64.whl

    `psycopg2_binary`是Python与PostgreSQL数据库连接的便捷工具,尤其是`psycopg2_binary-2.9.1-cp37-cp37m-win_amd64.whl`这样的预编译包,使得在Windows 64位系统上使用Python 3.7的开发者能快速、无痛地安装和使用...

    PyPI 官网下载 | psycopg2-2.7.4-cp36-cp36m-win32.whl

    在Python编程中,数据库交互是不可或缺的一部分,而`psycopg2`是Python与PostgreSQL数据库之间的重要桥梁。PyPI(Python Package Index)作为Python社区的官方软件仓库,提供了大量的第三方库,包括我们今天要讨论的...

    psycopg3:适用于Python编程语言的新一代PostgreSQL数据库适配器

    `psycopg3`是`psycopg2`的后续版本,它遵循Python 3的设计原则,对Python 3.6及更高版本提供全面支持。新版本带来了许多改进,包括性能优化、错误处理、代码简化以及更好的类型映射等。它的目标是提供一个更加现代化...

    (python-PostgreSQL驱动)psycopg2-2.4.4.win32-py2.6-pg9.1.2-release.exe

    在 Windows 平台上使用 PostgreSQL需要安装此驱动包。 原下载地址是: http://www.djangoproject.com/r/python-pgsql/windows/

    psycopg2-2.8.6.tar.gz

    `psycopg2`是Python与PostgreSQL数据库交互的库,版本为2.8.6,其以`.tar.gz`格式提供的源代码包。这个压缩包主要用于在Python环境中搭建与PostgreSQL数据库连接的功能,使得开发者能够方便地进行数据的读取、写入和...

    Python 操作 PostgreSQL 数据库示例【连接、增删改查等】

    总的来说,Python通过 `psycopg2` 库为PostgreSQL数据库提供了丰富的操作接口,使得在Python应用程序中进行数据库管理变得简单高效。无论是创建新表、插入数据、更新记录还是删除信息,都可以通过编写直观的Python...

    Python-queriespsycopg2库的封装用来和PostgreSQL进行交互

    Python中的`queries`库是基于`psycopg2`的一个封装,旨在简化与PostgreSQL数据库的交互。`psycopg2`是Python中广泛使用的PostgreSQL数据库适配器,它提供了丰富的功能,包括连接管理、SQL执行、事务处理以及类型映射...

    Python库 | psycopg2_binary-2.8.6-cp38-cp38-win32.whl

    **psycopg2** 是Python中最广泛使用的PostgreSQL适配器,它允许开发者直接在Python代码中执行SQL查询,处理结果集,甚至进行高级的数据库操作。这个库提供了一种高效、稳定和可靠的连接方式,使得Python和PostgreSQL...

    Python编写PostgreSQL数据库结构比对程序源代码

    在Python中,通常会使用如`psycopg2`这样的库来连接和操作PostgreSQL数据库。`psycopg2`是Python的一个扩展模块,提供了与PostgreSQL数据库通信的接口。比对程序可能使用了SQL查询来获取数据库的表结构、索引、约束...

    离线安装python pg环境

    离线安装Python的pg环境指的是在没有网络连接或者网络环境不稳定的情况下,为Python环境安装用于与PostgreSQL数据库交互的psycopg2库。PostgreSQL是一种开源的关系型数据库管理系统,而psycopg2是Python的一个扩展...

    Python库 | psycopg2_binary-2.7.3.2-cp34-cp34m-win_amd64.whl

    `psycopg2`是一款针对PostgreSQL数据库的Python适配器,它使得Python程序能够方便地与PostgreSQL进行交互。在Python的生态系统中,`psycopg2`是广泛使用且备受推崇的库之一,特别是在处理数据库连接、查询以及数据...

    psycopg2-2.9.2.tar.gz

    `psycopg2`是Python中一个非常著名的 PostgreSQL 数据库适配器,它的版本号为2.9.2,对应的压缩包文件为"psycopg2-2.9.2.tar.gz"。这个压缩包包含了用于在Python应用程序中与PostgreSQL数据库进行交互的所有必要组件...

    Python连接PostgreSQL数据库的方法

    Python提供了多种方式与PostgreSQL交互,其中最常用的是通过第三方库psycopg2。下面将详细介绍如何使用Python的psycopg2模块连接和操作PostgreSQL数据库。 首先,确保已经安装了psycopg2库。在命令行或终端中运行`...

Global site tag (gtag.js) - Google Analytics