什么是Python相当于 DatabaseMetaData的

有帮助吗?

解决方案

这是不是一个特定蟒应答;其实我不知道Python数据司机有这样的事情。但也许这个信息会有所帮助。

在ANSI SQL-92和SQL-99标准要求 INFORMATION_SCHEMA架构,该存储信息关于在目录表。

在寻求元数据可以与在视图上在该模式的查询来检索。

例如:

select column_name, is_nullable, data_type, character_maximum_length as maxlen 
from information_schema.columns 
where table_name = 'Products'

不是所有的数据库实施的标准的一部分。甲骨文,例如,没有。

幸运的是,也有存储这类资讯的特定数据库的表。

虽然Microsoft SQL Server的支持INFORMATION_SCHEMA的事情,也有SQL Server特定的表格,让更多的元数据信息。这些都是[CatalogName].dbo.sysobjects[CatalogName].dbo.sysolumns。类似的查询这些表会给你你所寻求的元数据。例如:

select * from [CatalogName].dbo.syscolumns 
where id = 
    (Select id from [CatalogName].dbo.sysobjects where name = 'Products')

在Oracle中,ALL_TAB_COLUMNS表可以给你的信息:

select column_name, data_type, data_length, data_precision, data_scale
from ALL_TAB_COLUMNS
where table_name = 'EMP';

无论您查询的标准视图或特定数据库的视图,你不需要ODBC做这些查询 - 你可以使用任何数据库连接您有可用于运行数据,受当然安全批准

其他提示

如果您愿意使用ODBC进行数据访问,那么你可以使用pyodbc, HTTP: //code.google.com/p/pyodbc/wiki/Features 的。 Pyodbc允许你调用像SQLTABLES,这相当于JDBC的getTables函数功能。的JDBC和ODBC函数来获得对元数据是极其相似。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top