excel生成insert语句这个技能是在我们项目经理那里get到的,的确很好用!!!excel果真博大精深啊!!
1、首选准备测试数据
2、写好insert语句固定部分
如上图红色部分,根据自己的需求书写sql语句固定部分哦,有主键的就不需要用函数生成了。
3、选择CONCATENATE函数,开始进行sql后半部分拼接啦
选择好函数后,点击确定,开始进行结构拼接
下面开始解释一下意思:
Text1:选择的是D1列,即我们sql的固定部分,因为每条insert语句前面都一样,用美元符号包起来D,是固定这一例的意思。
Text2:选择的是A2列,即对应excel表姓名,也就是数据库中对应的name列。
Text3:输入的是 【 ','】,代表的是insert语句中的引号和逗号,如:'张三','李四',,其中因为insert语句固定部分的结尾写了一个单引号,所以这里的第一个单引号是结果的后部分引号,逗号为下一个值的分隔,第二个单引号则为下一个值的前部分单引号,后面都以此类推;
接着就和上面一个道理了,除了结尾部分有一点变化,因为结尾只剩下最后一个值的后部分单引号和括号、分号了。如下
点击确定后你会发现已经生成了你要的sql语句
此时双击生成的这条sql语句的右下角,注意,出现+号的时候点击,你要的sql就全部生成了
是不是很好用,拼接是灵活多变的,里面可以加入各种数据库函数混合使用哦!!
比如我在最后一列加上一个时间,时间格式为时间戳的,但是数据库里时间为date,这时候直接插入是无法插入的,所以需要在时间列上加个时间戳转date格式的函数,如下拼接
这样,我生成的sql就变成了这样
把sql复制出来看看
insert into peope (id,name,ses,address )values
(
sys_guid(),
' 张三',
'男',
'河南',
cast(to_timestamp('2020-08-27 15:38:56.637', 'yyyy-mm-dd hh24:mi:ss.ff') as date)
);
是不是强无敌,赶紧去试试吧!!