sql - 来自 csv 文件的 PostgreSQL 查询

标签 sql postgresql csv

<分区>

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

例如:我在 emails.csv 文件中有一个包含 1000 个电子邮件地址的列表。

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

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

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

最佳答案

您需要创建一个表和copy它来自 csv,类似于:

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';

关于sql - 来自 csv 文件的 PostgreSQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48544490/

相关文章:

python - GAE Python - 每天将 CSV 保存到同一个 Blobstore 元素的任务

java - 如何跟踪列在数据库表上的位置

sql - 查找表中不存在的 IDS

mysql - 用 MySQL 修剪逗号?

python - 使用 PyMongo 在 MongoDB 中进行批量插入/更新

ruby-on-rails - Rails,通过自定义的唯一字段引用关联

python - 使用 Python 将 mysql 表详细信息转换为 Excel (.xls) 或逗号分隔文件 (.csv)

php - 向用 PHP 创建的 csv 添加行标题?

mysql - 选择按年和月分组的特殊订单

sql - 获取sql server中的行数,包括列值