1 답변
-
파이썬을 이용하여 MYSQL에 접속하기
1 - 설정
제일 먼저, MySQL 드라이버를 설치해야 합니다. PHP와 달리, 파이썬에는 기본적으로 SQLite 드라이버만 설치되어 있습니다. 가장 많이 사용되는 패키지는
MySQLdb
인데 easy_install을 이용해도 설치하기가 어려운 편입니다.윈도우즈 사용자라면,
MySQLdb의 exe
파일을 다운받을 수 있습니다.리눅스의 경우,
python-mysqldb
가 패키지로 제공이 됩니다. 데비안 계열의 경우sudo apt-get install python-mysqldb
을, rpm 계열은yum install mysql-python
을, 마지막으로 모던 페도라의 경우에는dnf install python-mysqldb
를 커맨드 라인에 입력하시면 다운받을 수 있습니다.마지막으로 맥은 맥 포트를 이용하여 설치할 수 있습니다.
2 - 사용법
설치 후, 우선 컴퓨터를 재시작해줍니다. 필수적인 부분은 아니지만 재시작을 하지 않을 경우 발생할 수 있는 문제들이 간혹 있으니, 재시작하시는 것을 권장합니다.
그런 다음, 다른 패키지처럼 아래와 같이 그냥 사용하시면 됩니다 :
#!/usr/bin/python import MySQLdb db = MySQLdb.connect(host="localhost", # your host, usually localhost user="john", # your username passwd="megajonhy", # your password db="jonhydb") # name of the data base # you must create a Cursor object. It will let # you execute all the queries you need cur = db.cursor() # Use all the SQL you like cur.execute("SELECT * FROM YOUR_TABLE_NAME") # print all the first cell of all the rows for row in cur.fetchall(): print row[0] db.close()
물론, 이는 가장 기본적인 예시일 뿐, 다양한 가능성과 설정들이 존재합니다. 이에 대해선 이 문서를 참고하시면 좋을 것 같습니다.
3 - 심화된 사용법
작동방법을 익히고 나면, SQL을 수동적으로 쓰는 것을 방지하고 테이블들을 마치 파이썬 객체인 것처럼 사용하기 위해 ORM을 사용하고 싶어질 겁니다. 파이썬 커뮤니티에서 가장 유명한 ORM은 SQLAlchemy입니다.
좀더 편안하게 작업을 하고 싶으시다면 이를 사용하는 것을 강력히 추천합니다.
개인적으로는 최근에 peewee라는 라이브러리를 알게 되었는데, 설치과정이 매우 쉽고 빠른 라이트한 ORM입니다. SQLAlchemy나 Django가 좀 과하다 싶은 작은 프로젝트나 독립적인 형태의 앱을 만들 때 매우 유용하게 쓰일 수 있습니다.
import peewee from peewee import * db = MySQLDatabase('jonhydb', user='john',passwd='megajonhy') class Book(peewee.Model): author = peewee.CharField() title = peewee.TextField() class Meta: database = db Book.create_table() book = Book(author="me", title='Peewee is cool') book.save() for book in Book.filter(author="me"): print book.title Peewee is cool
위의 예제는 바로 사용가능한 예제입니다. peewee를 설치하는 것 (
pip install peewee
) 외에는 추가적으로 할 일이 없습니다.
댓글 입력