使用psycopg2操作PostgreSQL数据库之二
使用psycopg2操作PostgreSQL数据库之二
佣工7001
1. 连接数据库:
import psycopg2 import psycopg2.extras conn = psycopg2.connect(host='localhost', port=5432, user='myuser', password='mypass', database='mydb')
备注:connect()也可以使用一个大的字符串参数, 比如”host=localhost port=5432 user=postgres password=postgres dbname=test”
2. 打开Cursor:
cursor = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)备注:这里创建的是一个字典Cursor, 这样返回的数据, 都是字典的形式, 方便使用,如果不指定,则默认返回元组形式的结果集,只能以索引访问字段值。
3. 执行SQL查询:
(1)执行sql时传入参数,要使用占位符%s(无论数据类型)
cursor.execute('SELECT * FROM operators WHERE id = %s;', (3,))特别说明:
- sql脚本必须以分号结尾, 不能省略.
- 传递参数时,必须以元组的形式提供,一个参数时后面必须加逗号! (3)这样是不行的.
(2)三种方式取得查询结果:
psycopg2有3个方法用以取得结果:fetchone(), fetchall()和fetchmany()。
- fetchone() 返回一条结果,如果找不到,返回None。
- fetchall() 返回所有结果,如果找不到,返回空list.。
- fetchmany() 调用时需要给出1个指定返回结果数的参数, 每次调用,游标向后移,返回值如同fetchall()。
4. 执行增删改sql语句
执行增删改的sql语句,执行方法同查询语句一样,同样使用cursor.execute(),只是执行后不需要获取返回值,但是需要使用的连接对象的commit()方法提交一下,才会把数据提交到数据库当中。
- 查看psycopg2生成的sql脚本:Cursor对象的mogrify()方法会返回生成的sql脚本,调试时可以用来查看生成的sql是否正确。cursor.mogrify(‘SELECT * FROM test WHERE a = %s AND b = %s;’, (‘a’, ‘b’))
- 查看最后一次执行的sql脚本:访问Cursor的query属性,这是一个只读的属性,可以返回上次执行的sql脚本。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律