トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

E71でPython-MySQLdbの動作確認

Last-modified: 2013-08-24 (土) 02:14:21 (2242d)
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
>>> 


各行の解説:

  1. MySQLdbのモジュールをインポートします。
  2. MySQLdbのconnectメソッドで、MySQLデータベースサーバに接続します。
    引き数のhostは、小生の環境では、localhostだと失敗しました。→127.0.0.1を指定してます。
  3. コネクションオブジェクト(db)からカーソルオブジェクト(cur)を取得します。
  4. SQL分を引数としてcurのexecuteメソッドを実行します。
  5. curのfetchallメソッドで、検索結果のリストを取得します。
    このときrowsに引き渡されるのは、配列のリストです。
  6. forループでrowsの内容を出力します。
  7. カーソルオブジェクトをクローズします。
  8. コネクションオブジェクトをクローズします。



一回出来れば、あとは色々応用できそうな感じですな~

そのうち、update、insert、deleteの例も載せようかな~