什么是Python相当于JDBC的DatabaseMetaData?
-
22-08-2019 - |
题
什么是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函数来获得对元数据是极其相似。
不隶属于 StackOverflow