Python から pyscopg2 を使って PostgreSQL サーバにアクセスする前に、環境の準備が必要となります。今日は環境の準備と実際にPythonからPostgreSQLに接続する方法を紹介します。
環境準備(psycopg2インストール)
以下のコマンドでpsycopg2をインストールできます。
yum -y install python-pip
yum -y install python-psycopg2
pip install chardet
pip install psycopg2
yum -y install python-psycopg2
pip install chardet
pip install psycopg2
PythonでPostgreSQLに接続
PostgreSQL サーバに接続する
以下の関数を定義し、PostgreSQLに接続できる。
import psycopg2
def get_connection():
return psycopg2.connect(‘postgresql://ユーザ名:パスワード@ホスト名:ポート/データベース名‘)
def get_connection():
return psycopg2.connect(‘postgresql://ユーザ名:パスワード@ホスト名:ポート/データベース名‘)
ひとつずつテーブルのデータを取得する
conn = get_connection()
cur = conn.cursor()
cur.execute(‘SELECT * FROM test’)
for row in cur:
print(row)
cur.close()
conn.close()
cur = conn.cursor()
cur.execute(‘SELECT * FROM test’)
for row in cur:
print(row)
cur.close()
conn.close()
結果:
(‘123’, ‘234’)
(‘555’, ‘333’)
(‘123’, ‘234’)
(‘555’, ‘333’)
まとめてテーブルのデータを取得する
conn = get_connection()
cur = conn.cursor()
cur.execute(‘SELECT * FROM test’)
print(cur.fetchall())
cur.close()
conn.close()
cur = conn.cursor()
cur.execute(‘SELECT * FROM test’)
print(cur.fetchall())
cur.close()
conn.close()
結果:[(‘123’, ‘234’), (‘555’, ‘333’)]
クエリにパラメータを埋め込む
conn = get_connection()
cur = conn.cursor()
id=’123′
cur.execute(‘SELECT * FROM test where id = %s’, (id,))
print(cur.fetchall())
cur.close()
conn.close()
cur = conn.cursor()
id=’123′
cur.execute(‘SELECT * FROM test where id = %s’, (id,))
print(cur.fetchall())
cur.close()
conn.close()
結果: [(‘123’, ‘234’)]