python和数据库postgresql连接

匿名 (未验证) 提交于 2019-12-02 22:54:36

两者之间的连接需要使用到一个包:psycopg2。

这个包中的包含着我们建立连接需要的主要函数有connect函数,这个函数的作用是建立连接。也就是两者之间的一个借口,通过这个借口我们可以在Python中可以进行我们在数据库postgresql中所能进行的查询工作。这个函数的主要参数如下:

connection=connect(host='主机',import='端口',user='用户名',password='密码',dbname='数据库name')

通过借口connection我们可以在Python中进行一些查询的操作,所使用的到的函数如下:
在进行查询执行之前,要通过方法cursor(),建立游标cursor。
再通过游标的方法execute()函数执行要执行的sql语句,SQL语句在Python中是按照字符串的形式进行表示的。

  • cursor中方法fetchall()用来获取cursor中execute(sql)的所有结果,方法fetchall()返回值是类型是list,list中的每一个元素是查询结果表的一行,数据类型是tuple。
  • cursor的属性中的description是用来记录查询出的结果列的叙述,数据类型是元组,元组的元素(数据类型是psycopg2.extensions.Column)是每一列的叙述,叙述包括了(按照顺序)列名name、type_code、display_size,internal_size,precision,scale,null_ok。
  • 属性rowcount记录的是结果的行数。方法close()是关闭游标,关闭之后游标不可用。
cursor=connection.cursor() sql = """ select * from dbname.table """ cursor.execute(sql) columns_names=[dec[0] for dec in description] result=cursor.fetchall() cursor.close() #最终可以把查询出来的数据放在数据框中 df=pandas.DataFrame(result,columns=columns_names)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!