MySQL
PostgreSQLと同様、いわゆる「本格的」なデータベースの一つであるMySQLのサンプルです。 Pythonに対応したMySQLドライバも数種類あるようですが、本サイトでは「MySQL for Python」を使用します。
ドライバ「MySQL for Python」は下記リンクよりダウンロードしてください。適切なバージョンとプラットフォームを選びましょう。
http://sourceforge.net/projects/mysql-python/files/mysql-python/
ダウンロード後、インストールを行ってください。
下記データ登録のサンプルとなります。
# -*- coding: utf-8 -*-
import MySQLdb
connector = MySQLdb.connect(host="localhost", db="sdb", user="msusr", passwd="mspsw", charset="utf8")
cursor = connector.cursor()
sql = u"insert into test_table values('1','python')"
cursor.execute(sql)
sql = u"insert into test_table values('2','パイソン')"
cursor.execute(sql)
sql = u"insert into test_table values('3','ぱいそん')"
cursor.execute(sql)
connector.commit()
cursor.close()
connector.close()
まずは3行目で「MySQLdb」モジュールのインポートを行います。 続く5行目の記述でデータベースへ接続、引数には(ホスト名, データベース名, ユーザー名, ユーザーのパスワード, 文字コード)を設定します。 6行目でカーソルを取得し、8行目から13行目で指定のSQL文を実行します。 15行目でコミットを行い、最後はデータベースをクローズして終了です。
データ参照のサンプルです。先程登録したデータを見てみましょう。
# -*- coding: utf-8 -*-
import MySQLdb
connector = MySQLdb.connect(host="localhost", db="sdb", user="msusr", passwd="mspsw", charset="utf8")
cursor = connector.cursor()
cursor.execute("select * from test_table order by code")
result = cursor.fetchall()
for row in result:
print "===== Hit! ====="
print "code -- " + row[0].encode('utf-8')
print "name -- " + row[1].encode('utf-8')
cursor.close()
connector.close()
--実行結果--
===== Hit! ===== code -- 1 name -- python ===== Hit! ===== code -- 2 name -- パイソン ===== Hit! ===== code -- 3 name -- ぱいそん
「MySQLdb」モジュールのインポート後、データベースへ接続します。 6行目でカーソルの取得を行い、select文を実行。 「fetchall」を使用すると結果がタプルで返ってきます。
Excel操作も出来ますよ!
▶外部ライブラリ:Excel操作
