使用psycopg2 *** 作PostgreSQL数据库之二

使用psycopg2 *** 作PostgreSQL数据库之二,第1张

概述使用psycopg2 *** 作PostgreSQL数据库之二 佣工7001 1. 连接数据库: import psycopg2import psycopg2.extrasconn = psycopg2.connect(host='localhost', port=5432, user='myuser', password='mypass', database='mydb') 备注:connect 使用psycopg2 *** 作Postgresql数据库之二

佣工7001

1. 连接数据库:

import psycopg2import psycopg2.extrasconn = 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()方法提交一下,才会把数据提交到数据库当中。


5.编程调试技巧:
查看psycopg2生成的sql脚本:Cursor对象的mogrify()方法会返回生成的sql脚本,调试时可以用来查看生成的sql是否正确。cursor.mogrify(‘SELECT * FROM test WHERE a = %s AND b = %s;’,(‘a’,‘b’)) 查看最后一次执行的sql脚本:访问Cursor的query属性,这是一个只读的属性,可以返回上次执行的sql脚本。 总结

以上是内存溢出为你收集整理的使用psycopg2 *** 作PostgreSQL数据库之二全部内容,希望文章能够帮你解决使用psycopg2 *** 作PostgreSQL数据库之二所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1179067.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存