将TXT文本数据批量插入到mysql数据表的特定几列中

269 阅读1分钟

本文已参与“新人创作礼”活动,一起开启掘金创作之路。​

 今天需要在mysql已有的表中添加一些新的数据,并且数据有指定的列。前辈教了一招套路,这里记录一下,以后可以继续用。

一、了解要解决的问题

首先咱们先看目标表的格式:

然后看看我们要插入的数据信息:

​​

这里我也首先试着手动插入一条数据:

insert into deviceLocation(cameraName,type,deviceCode) values("00-06-F4-71-74-B0","上网记录","zhl-11f-h-1102");	

这里几百条上千条数据我肯定不能一条条的写,这里推荐一个方法。

​​

 二、解决方案

首先我们使用 NotePad++ 文本文件打开,然后 Control+F 中选择替换,其中查找目标为文本文件中间的空格区域,替换内容为:  ","上网记录","  勾选循环查找,然后全部替换即可:

插入结果如下:

 这样中间的上网记录这个字段就有了。

然后在替换框中选择下面的正则表达式,然后查找目标改为 ^ ,表示每行的开头,替换为:

insert into deviceLocation(cameraName,type,deviceCode) values("

然后我们替换一次可以发现结果变成这样。

这里可以看到我替换信息中有括号,但是结果并没有。所有的括号全部都丢失了。

修改方案是在所有的括号前加入 "" 就可以了。

insert into deviceLocation(cameraName,type,deviceCode) values(" 

  插入结果如下。

​​

 最后在查找目标中改为 $ ,表示为在每一行的末尾,替换为:   ");

所有插入数据库语句写好,如下图:

最后在mysql中插入即可。插入后如图:

到这里就全部完成了。