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 |