我用from sqlalchemy import create_engine
成功地将Python连接到了我的MySQL数据库。
有了这个engine
,我可以获得所需的数据等。
我正在使用table_names = engine.table_names()
来获取数据库中的所有表名。
我最终需要的是表信息,如条目数、更新时间等。
我可以用select来完成所有这些,但我想知道是否还有像table_names()
这样方便的函数可以做到这一点?
以下是我想用更方便的东西代替的查询:
SELECT UPDATE_TIME
FROM information_schema.tables
WHERE TABLE_NAME = 'my_table'
您可以使用Inspector对象:
from sqlalchemy import create_engine
from sqlalchemy.engine import reflection
"""
initialize engine
"""
inspector = reflection.Inspector.from_engine(engine)
for table in inspector.get_table_names():
print(inspector.get_columns(table))
以下是反思的文档。
要提取Inspector返回的值,您需要对列进行迭代:
for column in inspector.get_columns(table):
print(column['name'])
print(column['type'])
print(column['nullable'])