JDBC DatabasemetAdata와 동등한 파이썬은 무엇입니까?
-
22-08-2019 - |
문제
파이썬은 무엇입니까? DatabasemetAdata
해결책
이것은 파이썬 별 답변이 아닙니다. 사실 나는 파이썬 데이터 드라이버가 이런 종류의 것을 가지고 있는지 모르겠습니다. 그러나 아마도이 정보가 도움이 될 것입니다.
ANSI SQL-92 및 SQL-99 표준이 필요합니다 정보 _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 서버 별 테이블도 있습니다. 이것들은 [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';
표준보기 또는 DB 특정 뷰를 쿼리하든 이러한 쿼리를 수행하기 위해 ODBC가 필요하지 않습니다. 물론 보안 승인에 따라 운영 데이터에 사용할 수있는 DB 연결을 사용할 수 있습니다.
다른 팁
데이터 액세스에 ODBC를 기꺼이 사용하려는 경우 PYODBC를 사용할 수 있습니다. http://code.google.com/p/pyodbc/wiki/features. PYODBC를 사용하면 JDBC getTables 함수와 동일한 SQLTables와 같은 함수를 호출 할 수 있습니다. 메타 데이터에 도달하기위한 JDBC 및 ODBC 기능은 매우 유사합니다.