如何使用SQLAlchemy确定表中的字段?

时间:2012-07-16 08:00:35

标签: python sqlalchemy

是否可以使用SQLAlchemy或任何其他python库在运行时以实用方式确定表(MySQL DB)中可用的字段?对此的任何帮助都会很棒。

感谢。

3 个答案:

答案 0 :(得分:3)

反思可以做到这一点。

使用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

上查看更多信息

答案 1 :(得分:0)

您可以运行SHOW TABLE TABLENAME并获取表格的列。

答案 2 :(得分:0)

这是python(pep 249)的std DB api规范的一部分,即游标上的描述成员,因此您不需要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