python和数据库postgresql连接

两者之间的连接需要使用到一个包: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)

你可能感兴趣的:(数据挖掘,Python)