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并粘贴到这里。 它会给你一个查询所有的插入。