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/
本文使用windows系統開發,未使用官網版本,選擇psycopg2-2.4.2.win-amd64-py2.7-pg9.0.4-release.exe版,地址:http://vdisk.weibo.com/s/Cd8pPaw56Ozys
4.PsyCopg的安裝
直接exe,根據提示安裝即可.
------------------------------------------------
博主經營一家發飾淘寶店,都是純手工制作哦,開業沖鑽,只為信譽!需要的親們可以光顧一下!謝謝大家的支持!
店名:
小魚尼莫手工飾品店
經營:
發飾、頭花、發夾、耳環等(手工制作)
網店:
http://shop117066935.taobao.com/
---------------------------------------------------------------------
繼續正題...
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(插件)
店名:
小魚尼莫手工飾品店
經營:
發飾、頭花、發夾、耳環等(手工制作)
網店:
http://shop117066935.taobao.com/