E71でPython-MySQLdbの動作確認
Last-modified: 2013-08-24 (土) 02:14:21 (3898d)
Top / E71でPython-MySQLdbの動作確認
E71でPython-MySQLdbの動作確認 †
※この記事は、「E71へのMySQL-pythonのインストールについて」の続きです。
mysqluiを起動し、テスト用データベース、テーブル等を作成します。
mysql> create database test_db; mysql> use test_db; mysql> create table test (user char(20), passwd char(20)); mysql> insert into test values('taro', 'taropass'); mysql> insert into test values('hanako', 'hanakopass'); mysql> quit
MySQLdbデビュー †
テーブルの準備が完了したら、Pythonコンソールを起動し、以下のコマンドを順次実行します。
まあ、基本的にはJDBCとかと使い方は変わらんですな〜
Python 2.2.2 (#0, Nov 7 2008, 14:24:30) [C] on symbian_s60 Type "copyright", "credits" or "license" for more information. (InteractiveConsole) >>> import MySQLdb ←1 >>> >>> >>> db = MySQLdb.connect(db="test_db", host="127.0.0.1", user="root", passwd="") ←2 >>> cur = db.cursor() ←3 >>> cur.execute('select * from test') ←4 2L >>> rows = cur.fetchall() ←5 >>> for row in rows: ←6 ... print row[0] ... print row[1] ... taro taropass habako hanakopass >>> cur.close() ←7 >>> db.close() ←8 >>>
各行の解説:
- MySQLdbのモジュールをインポートします。
- MySQLdbのconnectメソッドで、MySQLデータベースサーバに接続します。
引き数のhostは、小生の環境では、localhostだと失敗しました。→127.0.0.1を指定してます。 - コネクションオブジェクト(db)からカーソルオブジェクト(cur)を取得します。
- SQL分を引数としてcurのexecuteメソッドを実行します。
- curのfetchallメソッドで、検索結果のリストを取得します。
このときrowsに引き渡されるのは、配列のリストです。 - forループでrowsの内容を出力します。
- カーソルオブジェクトをクローズします。
- コネクションオブジェクトをクローズします。
一回出来れば、あとは色々応用できそうな感じですな~
そのうち、update、insert、deleteの例も載せようかな~