Python(http://www.python.org/)과 PostgreSQL(http://www.postgresql.org/)에 대한 설명은 각각 홈페이지를 참고하시면 될 것 같습니다. 이번 포스트에서는 라이브러리 psycopg2를 통해서 데이터베이스에 접근하고, SQL 질의와 관련된 내용을 적고자 합니다. 먼저 psycopg2는  Python-PostgreSQL Database Adapter로 간단하게 말해서 Python 프로그래밍 언어를 통해서 DBMS인 PostgreSQL을 활용할 수 있게 도와주는 라이브러리로 생각하시면 됩니다.


 Linux Fedora에서 간단하게 psycopg2를 설치하기 위해서는

1)  [moto@boo script]$  yum search psycopg2  


2 ) 위 그림과 같이 검색된 경우:
yum install -y python-psycopg2.i686 

3) 설치 완료!!! 물론 root 권한을 획득하고 install 하셔야 합니다.



다음은 사용에 대해서 정리합니다.

파이썬 파일을 하나 생성합니다. -> vi test.py 
psycopg2 라이브러리를 불러옵니다. -> import psycopg2
데이터베이스와 연결합니다. -> conn_string = "host='localhost' dbname ='testDB' user='userName' password='111111'"
     host는 데이터베이스가 어디에 위치하는지에 대해서 적어줍니다. localhost or IP Addresss(example: 10x.20x.11x.22x)
     dbname은 데이터베이스 이름을 적어주면 되겠죠.
     user는 데이터베이스에 접근 할 때의 user이름을 적어줍니다.
     password는 비번 적으시구요.

연결이 잘 된 경우 커서를 생성합니다. -> curs= conn.cursor()


여기까지 완료된 경우 데이터베이스에 연결되고 커서까지 생성된 것으로 다음은 SQL 질의를 하고 결과를 프린트하는 것입니다.

SQL 질의문을 하나의 스트링으로 생성합니다. -> sql_string = "SELECT * FROM test_table"
SQL을 실행합니다. -> curs.execute(sql_string)
실행 결과를 모두 받아 옵니다. -> result = curs.fetchall()
실행 결과를 프린트합니다. -> print result 

SQL문으로 데이터베이스를 수정하는 경우도 있습니다. 이때에는 반드시 -> conn.commit()을 통해서 마무리합니다. commit()은 데이터베이스에 올바르게 반영하라고 명령하는 것이 되겠습니다.

위 내용을 정리하면 다음과 같죠~~~~ 정말 간단한 테스트구요.
더 자세한 사항은  http://pypi.python.org/pypi/psycopg2 ,  http://wiki.postgresql.org/wiki/Psycopg2_Tutorial  등을 참고하시면 도움을 될 것 같네요.

import psycopg2

#================== Database Connection =================== st
conn_string = "host='localhost' dbname ='testDB' user='moto' password='1111'"
try:
        conn = psycopg2.connect(conn_string)
except:
        print "error database connection"
curs= conn.cursor()
#================== Database Connection =================== ed

sql_string = "SELECT * FROM test"
curs.execute(sql_string)
result = curs.fetchall()
print result
conn.commit()




'파이썬(python2.7) > 라이브러리,SW' 카테고리의 다른 글

rabbitmq log view (로그 보기)  (0) 2014.04.10
Error: pika.adapters.base_connection  (0) 2014.04.10
RabbitMQ - default user change  (1) 2014.04.09
RabbitMQ - Management Plugin (Ubuntu)  (1) 2014.04.08
RabbitMQ - MQTT Plugin  (0) 2014.04.01
RabbitMQ 예제 01 - send, receive  (0) 2014.01.17
RabbitMQ 설치  (0) 2014.01.17
Python과 PostgreSQL 연동  (0) 2012.03.01

+ Recent posts