FC2ブログ
Pythonを使ってみたいキッカケにもなった「SQLObject」だが、
実際に使ってみたら、

1.クラス定義が面倒
2.複雑なjoin、副問い合わせの記述が面倒&読みづらい

でどうしても馴染めなくて、素直に「MySQLdb」を使うことにした。

こんな感じのクラスを作れば

import MySQLdb

dbInfo = dict(db="...", host="...", user="...", passwd="...")

class DB():
  con = None
  c = None
  
  def __init__(self):
    self.con = MySQLdb.connect(**dbInfo)
    self.c = self.con.cursor(cursorclass=MySQLdb.cursors.DictCursor)
  
  def __del__(self):
    self.c.close()
    self.con.close()
    
  def do(self, sql):
    self.c.execute(sql)


こんな感じに使える

  db = DB()
  
  db.do("SELECT * FROM foo")
  
  for r in db.c.fetchall():
    print r["FOO_NAME"]


楽にクラスを使えるPythonはいいね。

つづく...

スポンサーサイト

テーマ:プログラミング - ジャンル:コンピュータ



















管理者にだけ表示を許可する


| HOME |


Design by mi104c.
Copyright © 2019 ライフハック マイ ライフ, All rights reserved.