繁体   English   中英

如何使用python从数据库中提取表元数据

[英]How do I extract table metadata from a database using python

我想提出尽可能少的查询/位置集,以在尽可能多的数据库版本上提取databasetable metadata 我正在使用PostgreSQl 我正在尝试使用python来获取它。 但是我不知道如何执行此操作,因为我是python新手。

感谢您在此问题上的想法/建议。

您可以要求数据库驱动程序(在本例中为psycopg2 )返回有关已建立的数据库连接的一些元数据。 您也可以直接向数据库询问其某些功能或模式,但这在很大程度上取决于您要连接的数据库的版本以及数据库的类型。

这是从PostgreSQL http://bytes.com/topic/python/answers/438133-find-out-schema-psycopg获取的示例:

>>> import psycopg2 as db
>>> conn = db.connect('dbname=billings user=steve password=xxxxx port=5432')
>>> curs = conn.cursor()
>>> curs.execute("""select table_name from information_schema.tables WHERE table_schema='public' AND table_type='BASETABLE'""")
>>> curs.fetchall()
[('contacts',), ('invoicing',), ('lines',), ('task',), ('products',),('project',)]

但是,使用像SQLAlchemy这样的ORM可能会更好。 这将创建一个engine ,您可以查询所连接的数据库,以及规范连接各种数据库类型的方式。

如果您需要有关SQLAlchemy帮助,请在此处发布另一个问题! 通过搜索该网站,已有大量信息可用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM