这不是特定于python的答案; 实际上我不知道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'
Run Code Online (Sandbox Code Playgroud)
并非所有数据库都实现标准的这一部分.例如,Oracle没有.
幸运的是,还有一些特定于数据库的表存储了这种信息.
虽然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')
Run Code Online (Sandbox Code Playgroud)
在Oracle中,ALL_TAB_COLUMNS表可以为您提供以下信息:
select column_name, data_type, data_length, data_precision, data_scale
from ALL_TAB_COLUMNS
where table_name = 'EMP';
Run Code Online (Sandbox Code Playgroud)
无论是查询标准视图还是特定于数据库的视图,都不需要ODBC来执行这些查询 - 您可以使用任何可用于操作数据的数据库连接,当然需要获得安全批准.
| 归档时间: |
|
| 查看次数: |
2818 次 |
| 最近记录: |