首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vertica,describe表

Vertica,describe表
EN

Stack Overflow用户
提问于 2014-10-16 15:50:59
回答 3查看 11.8K关注 0票数 4

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

代码语言:javascript
复制
cur.execute("\d table_name")

我有这个问题:

代码语言:javascript
复制
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中获取列和列类型?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-10-16 18:40:11

查询失败的原因:

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

你有3个选择。首先,您已经在评论中添加了以下内容:

代码语言:javascript
复制
SELECT * 
FROM   v_catalog.columns 
WHERE  table_schema='schema' 
       AND table_name='table' 
ORDER  BY ordinal_position;`

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

代码语言:javascript
复制
SELECT export_objects('', 'schema.table');

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

代码语言:javascript
复制
SELECT EXPORT_TABLES('', 'schema.table');

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

票数 13
EN

Stack Overflow用户

发布于 2018-07-09 20:15:39

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

代码语言:javascript
复制
/d table_name;
/dt tablw_name;
票数 0
EN

Stack Overflow用户

发布于 2020-02-23 03:30:43

您可以使用\d或使用以下字典表获取它

代码语言:javascript
复制
select column_name, table_name
from v_catalog.columns
where column_name ilike '<column_name>'
and table_schema ilike '<table_name>'
order by column_name;

您还可以根据所需的信息添加更多属性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26398989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档