Вопрос

Что такое эквивалент Python База данныхМетаданные

Это было полезно?

Решение

Это не ответ, специфичный для 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'

Не все базы данных реализуют эту часть стандарта.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')

В 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