- 追加された行はこの色です。
- 削除された行はこの色です。
*E71でPython-MySQLdbの動作確認 [#ifbab732]
※この記事は、「[[E71へのMySQL-pythonのインストールについて]]」の続きです。
mysqluiを起動し、テスト用データベース、テーブル等を作成します。
create database test_db;
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デビュー [#rfbff161]
テーブルの準備が完了したら、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
>>>
&br;
各行の解説:
+MySQLdbのモジュールをインポートします。
+MySQLdbのconnectメソッドで、MySQLデータベースサーバに接続します。&br;
引き数のhostは、小生の環境では、localhostだと失敗しました。→127.0.0.1を指定してます。
+コネクションオブジェクト(db)からカーソルオブジェクト(cur)を取得します。&br;
+SQL分を引数としてcurのexecuteメソッドを実行します。
+curのfetchallメソッドで、検索結果のリストを取得します。&br;
このときrowsに引き渡されるのは、配列のリストです。
+forループでrowsの内容を出力します。
+カーソルオブジェクトをクローズします。
+コネクションオブジェクトをクローズします。
&br;&br;
一回出来れば、あとは色々応用できそうな感じですな~
そのうち、update、insert、deleteの例も載せようかな~