MoSQL って DB みたいな感じがするが、Python のライブラリ。
MoSQL — More than SQL — MoSQL v0.12.3 documentation
要は ORM を使う規模ではない、でも生の SQL を書くには苦痛という人向けのよう。
SQLAlchemy の Query オブジェクトみたいなのや SQLSoup が近いのかな。
結果はリストと辞書で返ってくる。
#!/usr/bin/env python # -*- coding: utf-8 -*- import pymysql from mosql.mysql import escape from mosql.db import Database, all_to_dicts from mosql.query import select db = Database(pymysql, host='localhost', user='root', passwd='', db='sampledb') with db as cur: q = select(escape('sample_table')) # SELCT * `sample_table` と同じ cur.execute(q) print(all_to_dicts(cur))
作者は PostgreSQL ユーザのようだけど(サンプルは PostgreSQL みたい)、PyMySQL とも連携できた。
ただし MySQL を使う場合は escape を使わないと不正な SQL になるよう。
例えば簡単なバッチファイルとかで ORM を使うまでもないけど、SQL を書くの嫌というケースにはハマりそうな感じがする。