首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql:从excel列插入多个值

Postgresql:从excel列插入多个值
EN

Stack Overflow用户
提问于 2017-05-17 17:12:43
回答 2查看 826关注 0票数 0

我需要从excel列中插入许多值。

例如,我可以手动完成以下操作:

代码语言:javascript
复制
INSERT INTO estructura.multiselect_options
(value, id_multiselect, type_multiselect)
VALUES 
('Some Value1', 9, 'field'), 
('Some Value2', 9, 'field'), 
('Some Other Value3', 9, 'field'), 
('Some Another Value4', 9, 'field'), 
etc...

唯一的价值改变将是第一个,那些‘一些价值’。其他两个人永远是一样的。但我在Excel列中包含了所有这些“ValueN”,如下所示:

代码语言:javascript
复制
A
Some Value 1
Some Value 2
Some Other Value 3
Some Another Value 3
etc...

那么,我是否可以从excel复制一个列,然后将所有的值放入我的查询中?一些在线工具,不管怎么样,我都搞不懂我是怎么做到的。执行这些操作的人期望在Postgres的SQL上运行一个查询文本。我不能使用其他方式来执行查询,所以我的唯一目标是创建大型查询文本,但是如何执行。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-17 19:16:35

有一些工具可以帮助将数据转换为插入,但我通常是在Excel中为自己做的。假设您的数据位于A至C列中,如下所示:

代码语言:javascript
复制
  |         A           | B |   C   |
--+---------------------+---+-------+
1 | Some Value1         | 9 | field | 
2 | Some Value2         | 9 | field | 
3 | Some Other Value3   | 9 | field | 
4 | Some Another Value4 | 9 | field | 
--+---------------------+---+-------+

然后在D1中输入公式

代码语言:javascript
复制
=CONCATENATE("('" , A1 , "'," , B1 , ",'", C1, "')," )

把这个复制到所有的行。现在,您应该能够将这一列数据粘贴到insert values部件之后的代码窗口中,只需在要插入的最后一组值之后删除逗号即可。

或者,如果您只有A列,并且需要重复其他内容:

代码语言:javascript
复制
=CONCATENATE("('" , A1 , "', 9, 'field'),")

正如@luisarcher所指出的,您可以使用级联符号CONCATENATE来组合“参数”,而不是使用&函数。这样做,第二个论坛将成为:

代码语言:javascript
复制
= "('" & A1 & "', 9, 'field'),"

我反反复复地说我更喜欢哪种方法。有时,我也会将奇数位(如"('" )放入其他单元格中,并引用这些单元格。它使最后的公式更易于构造。

票数 1
EN

Stack Overflow用户

发布于 2017-05-17 17:33:52

查看网站,您可以将excel文件保存为.csv并粘贴到这里。它将为您提供一个包含所有插入的查询。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44031093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档