我有一个名为:nyummy的数据库模式和一个名为cimory的表:

create table nyummy.cimory (
  id numeric(10,0) not null,
  name character varying(60) not null,
  city character varying(50) not null,
  CONSTRAINT cimory_pkey PRIMARY KEY (id)
);

我想将cimory表的数据导出为插入SQL脚本文件。但是,我只想导出城市等于“tokyo”的记录/数据(假设城市数据都是小写的)。

怎么做呢?

解决方案是使用免费的GUI工具还是命令行并不重要(尽管GUI工具解决方案更好)。我尝试过pgAdmin III,但我找不到这样做的选项。


当前回答

SQL Workbench有这样一个特性。

运行查询后,右键单击查询结果并选择“Copy Data As SQL > SQL Insert”

其他回答

SQL Workbench有这样一个特性。

运行查询后,右键单击查询结果并选择“Copy Data As SQL > SQL Insert”

你有没有试过在pgadmin执行查询“EXECUTE query WRITE RESULT TO FILE”选项

它只输出数据,其他的试试

pg_dump -t view_name DB_name > db.sql

-t option used for ==>只转储匹配表的表(或视图或序列),参考

只是添加上一种简单的方式,但手工方法。

1)使用PGADMIN 4,查询数据后,下载csv格式的数据。

在任何记事本中打开CSV,并在在线CSV到SQL转换器中复制和粘贴数据。例如:https://www.convertcsv.com/csv-to-sql.htm。 可以设置目标表的名称。输出是sql insert scripts。 将INSERT脚本复制回目标db查询窗口中的PGADMIN4。

对于我的用例,我可以简单地管道到grep。

pg_dump -U user_name --data-only --column-inserts -t nyummy.cimory | grep "tokyo" > tokyo.sql

您可以查看表与指定的记录,然后转储sql文件

CREATE VIEW foo AS
SELECT id,name,city FROM nyummy.cimory WHERE city = 'tokyo'