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(插件)