Postgresql:从excel列中插入许多值

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

例如,我可以手动做这个:

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... 

唯一值得改变的将是第一个,那就是“Some ValueN”。 其他两个将永远是一样的。 但是我在Excel专栏中列出了所有那些“Some ValueN”,如下所示:

 A Some Value 1 Some Value 2 Some Other Value 3 Some Another Value 3 etc... 

那么,有没有办法,我可以从excel中复制一列,然后把所有的价值在我的查询? 一些在线工具,无论如何,我不知道它怎么做。 这样做的人希望在PostgreSQL的SQL Querys中运行一个查询文本。 我不能使用其他方式来执行查询,所以我唯一的目标是做出这个大的查询文本,但如何。

有工具可以帮助将数据转换为插入,但我通常在Excel中为自己做。 假设你的数据在列A到C如下:

  | 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中input公式

 =CONCATENATE("('" , A1 , "'," , B1 , ",'", C1, "')," ) 

复制下来所有的行。 您现在应该能够在insert values部分之后将此列数据粘贴到您的代码窗口中,并且只需要从要插入的最后一组值之后删除逗号。

另外,如果你只有A列,需要重复其他的:

 =CONCATENATE("('" , A1 , "', 9, 'field'),") 

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

 = "('" & A1 & "', 9, 'field')," 

我来回走我喜欢哪种方法。 有时候我会把"('"这些奇怪的位置放在其他的单元格中,并且引用它们,这使得最终的公式更容易构build。

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