来自csv文件的PostgreSQL查询

时间:2018-01-31 14:24:47

标签: sql postgresql csv

从.csv文件查询的最简单方法是什么?

例如:我在emails.csv文件中列出了1000个电子邮件地址。

我想使用emails.csv文件中的电子邮件查询所有用户 例如:

SELECT * 
FROM users 
WHERE email IN (emails.csv)

有没有办法做这样的事情或者我需要创建一个脚本。如果需要某些脚本,请提供一些示例。

1 个答案:

答案 0 :(得分:0)

你需要从csv创建一个表copy,如:

t=# create table csv(i int,email text);
CREATE TABLE
t=# copy csv(email) from stdin;
Enter data to be copied followed by a newline.
End with a backslash and a period on a line by itself, or an EOF signal.
>> q
>> w
>> \.
COPY 2
t=# select * from csv;
 i | email
---+-------
   | q
   | w
(2 rows)

但是在你的情况下你从文件复制,而不是STDIN,例如

copy csv(email) from '/path/to/file';