我想列出并描述Oracle数据库中存在的表。
要通过使用SQL Plus等客户端连接到数据库来实现此目的,工作方法是:
列出表格:
select tablespace_name, table_name from all_tables;
获取每个表的列和数据类型:
describe [table_name];
然而,当通过python使用cx_Oracle时,cur.execute('describe [table_name]')
会导致“无效的sql”错误。
我们如何在python中使用describe
和cx_Oracle?
答案 0 :(得分:1)
看来你不能。
从cx_Oracle而不是describe
使用:
cur.execute('select column_name, data_type from all_tab_columns where table_name = [table_name]')
(来自Richard Moore http://cx-oracle-users.narkive.com/suaWH9nn/cx-oracle4-3-1-describe-table-query-is-not-working)
答案 1 :(得分:1)
正如其他人所指出的,没有能力直接描述。但是,我创建了一组库和工具,可以让你这样做。你可以在这里看到它们:https://github.com/anthony-tuininga/cx_OracleTools。