将Vertica查询结果导出到csv文件

时间:2014-10-21 07:28:17

标签: sql csv export vertica

我正在使用Vertica。我尝试将SELECT查询中的数据导出到csv中。我尝试使用sql查询:

SELECT * FROM table_name INTO OUTFILE '/tmp/fileName.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

我收到了一个错误:

[Vertica][VJDBC](4856) ERROR: Syntax error at or near "INTO"

有没有办法将查询结果导出到csv文件?我不想使用vsql,但如果没有别的办法,我会用它。我尝试了以下方法:

vsql -c "select * from table_name;" > /tmp/export_data.txt

3 个答案:

答案 0 :(得分:12)

以下是您的操作方法:

vsql -U dbadmin -F ',' -A -P footer=off -o dumpfile.txt -c "select ... from ... where ...;"

参考:Exporting Data Using vsql

答案 1 :(得分:6)

相应于https://my.vertica.com/docs/7.1.x/HTML/Content/Authoring/ConnectingToHPVertica/vsql/ExportingDataUsingVsql.htm

=> SELECT * FROM my_table;
 a |   b   | c
---+-------+---
 a | one   | 1
 b | two   | 2
 c | three | 3
 d | four  | 4
 e | five  | 5
(5 rows)
=> \a
Output format is unaligned.
=> \t
Showing only tuples.
=> \pset fieldsep ','
Field separator is ",".
=> \o dumpfile.txt
=> select * from my_table;
=> \o
=> \! cat dumpfile.txt
a,one,1
b,two,2
c,three,3
d,four,4
e,five,5

答案 2 :(得分:2)

按照以下方式,您可以以逗号分隔和无页脚的方式写入CSV文件。

vsql -h $HOST -U $USER -d $DATABASE -w $PASSWORD -f $SQL_PATH/SQL_FILE -A -o $FILE -F ',' -P footer=off  -q  
相关问题