Vertica,描述标签

2024-09-23 00:17:36 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个vertica数据库,我需要描述一些表。在MySQL中,您使用describe table_name。我知道在vertica中是\d table_name。 我还需要抛出python,但是当我进行查询时:

cur.execute("\d table_name")

我有个问题:

vertica_python.errors.VerticaSyntaxError: Severity: ERROR, Message: Syntax error at or near "\", Sqlstate: 42601, Position: 1, Routine: base_yyerror, File: /scratch_a/release/vbuild/vertica/Parser/scan.l, Line: 1004, SQL: '\\d table_name'

在vertica中是否有其他获取列和列类型的方法?


Tags: name数据库messageexecutemysqltableerrorsyntax
2条回答

many ways to describe tables in vertica但是最简单的是:

/d table_name;
/dt tablw_name;

查询失败的原因:

\d命令是vsql的一种特殊性,这不是可以通过ODBC或JDBC使用的有效SQL。

你有三个选择。首先是你已经发表评论的:

SELECT * 
FROM   v_catalog.columns 
WHERE  table_schema='schema' 
       AND table_name='table' 
ORDER  BY ordinal_position;`

第二个选项是export the object,它将为您提供完整的create语句,包括投影:

SELECT export_objects('', 'schema.table');

第三个选项是export the table,它只提供表定义:

SELECT EXPORT_TABLES('', 'schema.table');

第一组双引号表示要在STDOUT上打印输出,第二组双引号表示要导出的表(或架构或所有对象)。

相关问题 更多 >