我正在使用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
答案 0 :(得分:12)
以下是您的操作方法:
vsql -U dbadmin -F ',' -A -P footer=off -o dumpfile.txt -c "select ... from ... where ...;"
答案 1 :(得分:6)
=> 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