SQLAlchemy またはその他の Python ライブラリを使用して、実行時にテーブル (MySQL DB) で利用可能なフィールドを実用的に決定することは可能ですか? これに関するヘルプは素晴らしいでしょう。
ありがとう。
SQLAlchemy またはその他の Python ライブラリを使用して、実行時にテーブル (MySQL DB) で利用可能なフィールドを実用的に決定することは可能ですか? これに関するヘルプは素晴らしいでしょう。
ありがとう。
リフレクションはこれを行うことができます。
sqlalchemyを使ってデータベースを一括反映する
meta = MetaData()
meta.reflect(bind=someengine)
users_table = meta.tables['users']
addresses_table = meta.tables['addresses']
# fields of address_table
fields = addresses_table.columns.keys()
詳細については、http://docs.sqlalchemy.org/en/rel_0_7/core/schema.html#reflecting-database-objectsを参照してください。
を実行してSHOW TABLE TABLENAME
、テーブルの列を取得できます。
これは Python の std DB API 仕様 ( pep 249 )、つまりカーソルの説明メンバーの一部であるため、SQLAlchemy は必要ありません。
たとえば、http://www.pymysql.org/を使用する場合、ユーザーはテーブルです
import pymysql
conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', db='mysql')
cur = conn.cursor()
cur.execute("SELECT * FROM user")
print cur.description