与 JDBC DatabaseMetaData 等效的 Python 是什么?
Python 相当于 DatabaseMetaData
What is the Python equivalent to DatabaseMetaData
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
Python 相当于 DatabaseMetaData
What is the Python equivalent to DatabaseMetaData
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
如果您愿意使用 ODBC 进行数据访问,那么您可以使用 pyodbc,http://code .google.com/p/pyodbc/wiki/功能。 Pyodbc 允许您调用 SQLTables 等函数,这相当于 JDBC getTables 函数。 获取元数据的 JDBC 和 ODBC 函数非常相似。
If your willing to use ODBC for data access then you could use pyodbc, http://code.google.com/p/pyodbc/wiki/Features. Pyodbc allows you to call functions like SQLTables, which is equivalent to the JDBC getTables function. The JDBC and ODBC functions to get to metadata are extremely similar.
这不是特定于 python 的答案; 事实上我不知道Python数据驱动程序是否有这种东西。 但也许这些信息会有所帮助。
ANSI SQL-92 和 SQL-99 标准需要 INFORMATION_SCHEMA 架构,它存储有关表的信息在目录中。
可以通过对该架构中的视图进行查询来检索您要查找的元数据。
例如:
并非所有数据库都实现该标准的该部分。 例如,甲骨文就没有。
幸运的是,还有特定于数据库的表来存储此类信息。
虽然 Microsoft SQL Server 支持 Information_Schema 事物,但也有特定于 SQL Server 的表提供更多元数据信息。 它们是
[CatalogName].dbo.sysobjects
和[CatalogName].dbo.sysolumns
。 对这些表的类似查询将为您提供所需的元数据。 示例:在 Oracle 中,ALL_TAB_COLUMNS 表可以为您提供以下信息:
无论您查询标准视图还是特定于数据库的视图,您都不需要 ODBC 来执行这些查询 - 您可以使用可用于操作数据的任何数据库连接,当然要经过安全批准。
This is not a python-specific answer; in fact I don't know if Python data drivers have this sort of thing. But maybe this info will help.
The ANSI SQL-92 and SQL-99 Standard requires the INFORMATION_SCHEMA schema, which stores information regarding the tables in a catalog.
The metadata you seek can be retrieved with a query on views in that schema.
for example:
Not all databases implement that part of the standard. Oracle, for example, does not.
Fortunately, there are also database-specific tables that store that kind of info.
While Microsoft SQL Server supports the Information_Schema thing, there are also SQL Server-specific tables that give more metadata information. These are
[CatalogName].dbo.sysobjects
and[CatalogName].dbo.sysolumns
. Similar queries on these tables will give you the metadata you seek. Example:In Oracle, the ALL_TAB_COLUMNS table can give you the information:
Whether you query the standard views or the db-specific views, you don't need ODBC to do these queries - you can use whatever db connection you have available for operational data, subject to security approvals of course.