在工作中遇到了需要用数据库的insert语句,本来是极其简单的事情,但是碰到了有n个(n很大)字段的表,写insert语句就是极其痛苦的事情了,即使只是复制粘贴也是很费力不讨好的一件事。正好手头有excel表存储了当前每个表的一行数据。所以本篇文章就讨论:如何利用已有的excel存储的一行数据导出你要的sql语句。
方法是利用excel中的CONCATENATE函数:
作用:主要是用来连接excel中各列中的内容,并且可以自己加字符,使他们所有的可以连接成一个字符串。所以可以利用他来合成sql语句。
语法:
CONCATENATE(text1, [text2], ...)CONCATENATE 函数语法具有下列参数(参数为:操作、事件、方法、属性、函数或过程提供信息的值。):
Text1必需要连接的第一个文本项。
Text2, ...可选。其他文本项,最多为 255 项。项与项之间必须用逗号隔开。
注释您也可以使用连接符号 (&) 计算运算符代替CONCATENATE函数来连接文本项。例如,=A1 & B1 返回相同的值为=CONCATENATE(A1, B1)
例子:
在excel中函数栏输入 =CONCATENATE("insert into users (name,sex,age) values ('",A1,"','",B1,"','",C1),回车。//A1,B1,C1为某个小格子的代号
得到结果:insert into users (name,sex,age) values ('ls','女','24'); 自动生成。
同理delete,update等都可以生成。
这样就可以不用自己全部复制粘贴啦,而且当字段名字相同的时候,excel中有多行数据。只需在函数作用的那一栏一拖就自动生成所有行数据啦