[Python] MySQLdb

カテゴリ: Python

参考: pythonのmysqldbの使い方メモ « taichino.com

#-*- coding: utf-8 -*-
import MySQLdb

con = MySQLdb.connect(host='localhost', db='database',
                      user='username', passwd='password')
cur = con.cursor()

# クエリの実行
# cur.execute(/* Query string */)
cur.execute("SET CHARSET utf8")

# SELECT 文
l = cur.execute("SELECT * FROM table") # l は回答の個数 (long型)
assert l > 0
for row in cur.fetchall():
    # 検索結果に対してひとつひとつ処理する
    # 検索結果は1行ずつタプルになっている
    print row[0], row[1]

# 検索結果を1つだけ得る場合は fetchone を使う
cur.execute("SELECT * FROM table")
row = cur.fetchone()
# row はタプル,検索結果がなければ None

# INSERT 文
# クエリを実行した上でコミットする
cur.execute("INSERT INTO table (id, value) VALUES (1, 'hoge')")
con.commit() # コミットは最後にまとめて行うのでもよい

# 終了処理
cur.close()
con.close()
2012/1/30 (月)