記錄一下 Python MySQLdb 的用法

因為一開始學 python 就用 django 了, 所以都直接用 ORM, 倒沒真的用過 MySQLdb 來存取過資料庫, 而我對 python 還真的不熟 ( 笑 ), 不過由於今天在把 twitthat 的資料庫都丟上 simpledb, 而 twitthat 現在是用 tornado, 所以只好另外寫支程式來把東西丟上 simpledb。

import MySQLdb import MySQLdb.cursors conn = MySQLdb.connect('dbhost', 'dbuser', 'dbpasswd', 'dbname', charset='utf8', use_unicode=True, cursorclass=MySQLdb.cursors.DictCursor) cursor = conn.cursor() cursor.execute('select * from users') users = cursor.fetchall() for user in users: print user['id'] cursor.close() conn.close()

以上, 其實重點就只是在 chartset, use_unicode 跟 cursorclass。

charset 跟 use_unicode 就不用多說了, 至於 cursorclass 則是因為, MySQLdb 預設抓出來的東西都是 tuple, 所以另外指定 DictCursor 就可以直接用 dict 來存取… 不然就得用 user[0], user[1] 都什麼年代了… (咦)

tzangms

Read more posts by this author.

Subscribe to Oceanic / 海海人生

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!