python 操作postgresql

1.簡述  

  python可以操作多種數據庫,諸如SQLite、MySql、PostgreSQL等,這裏不對所有的數據庫操作方法進行贅述,只針對目前項目中用到的PostgreSQL做一下簡單介紹,主要包括python操作數據庫插件的選擇、安裝、簡單使用方法、測試連接數據庫成功。

2.數據庫操作插件的選擇

  PostgreSQL至少有三個python接口程序可以實現訪問,包括PsyCopg、PyPgSQL、PyGreSQL(PoPy已經整合在PyGreSQL中),三個接口程序各有利弊,需要根據實踐選擇最適合項目的方式。

  推薦使用PsyCopg,對python開發框架的兼容性都很好,本文中我們只討論這個插件。

3.PsyCopg的下載

  官網下載psycopg2-2.5.1.tar.gz:http://initd.org/psycopg/

   python 2.7 

4.PsyCopg的安裝

  直接exe,根據提示安裝即可.

 

 

5.PsyCopg的使用

  py文件代碼: 

__author__ = 'qiongmiaoer'
import psycopg2
# 數據庫連接參數
conn = psycopg2.connect(database="platoon", user="postgres", password="postgres", host="192.168.10.80", port="5432")
cur = conn.cursor()
cur.execute("CREATE TABLE test(id serial PRIMARY KEY, num integer,data varchar);")
# insert one item
cur.execute("INSERT INTO test(num, data)VALUES(%s, %s)", (1, 'aaa'))
cur.execute("INSERT INTO test(num, data)VALUES(%s, %s)", (2, 'bbb'))
cur.execute("INSERT INTO test(num, data)VALUES(%s, %s)", (3, 'ccc'))

cur.execute("SELECT * FROM test;")
rows = cur.fetchall()        # all rows in table
print(rows)
for i in rows:
    print(i)
conn.commit()
cur.close()
conn.close()

  可參考psycopg官方文檔,介紹postgresql的使用

  http://initd.org/psycopg/docs/usage.html#passing-parameters-to-sql-queries

6. 輸出結果

"C:\Program Files (x86)\Python275\python.exe" 
E:/PycharmProjects/psycopgPyCharm/xiaoyu/temp.py
[(1, 1, 'aaa'), (2, 2, 'bbb'), (3, 3, 'ccc')]
(1, 1, 'aaa')
(2, 2, 'bbb')
(3, 3, 'ccc')
Process finished with exit code 0
 

7.分析

  在插件psyCopg安裝後,在python命令下import psycopg2,即可使用psycopg2中的方法對數據庫,根據測試結果的輸出可以看到我們成功地連接到了數據庫,創建了名爲test的table,添加了三條數據,併成功讀取和輸出數據,最後將查詢到的數據輸出print出來。

ps:

  項目環境

    windows8

    python2.7.5

    pyCharm2.7.3(開發環境)

    psycopg2-2.4.2(插件)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章