2014-05-09 63 views
0

我有python PostgreSQL的問題。我正在使用psycopg2。 這裏是我的Postgres數據庫的樣子:未能使用psycopg2從postgre數據庫中提取數據

Database: qcdata 
    ---information_schema 
    ---pg_catalog 
    ---prod 
     ---activation 
     --- *** Many other table *** 
    ---public 

我要拉出來在架構中的信息:PROD - 表:這裏激活

是我的代碼

import psycopg2 
conn = psycopg2.connect(host='10.0.80.180', port = '5432', 
        dbname = 'qcdata', 
        user = 'username', password = 'pwd') 
cur = conn.cursor() 
print cur.execute("SELECT * FROM prod.activation") 

但它返回無..我確信裏面有數據。那怎麼可能? 謝謝你們。

回答

0

雖然我會用在我得到一個值的情況下cursor.fetchone(),即在使用COUNT

SELECT count(*) FROM prod.activation 

如果我要處理一組行,我喜歡在結果集中利用遊標的能力iterate。這樣可以更好地控制結果,如何處理結果以及返回結果。

光標可以遍歷就像一個Python列表:

for row in cur: 
    dostuff() 

如果使用named cursors通過(簡單集合構建光標當name屬性),psycopg2將大塊的SELECT你,到2000年默認。這將在迭代時在後臺自動發生。

您也可以使用with語法在完成後自動關閉光標。 (適用於較小範圍的用途。)