1. 程式人生 > >excel 中批量生成mysql的腳本

excel 中批量生成mysql的腳本

concat 方法 成了 系統 列數 大數據 a10 一個 val

一、假設你的表格有A、B、C三列數據,希望導入到你的數據庫中表格table,對應的字段分別是col1、col2、col3

二、在你的表格中增加一列,利用excel的公式自動生成sql語句,具體方法如下:

1、增加一列(假設是D列)

2、在第一行的D列,就是D1中輸入公式:
=CONCATENATE("insert into table (col1,col2,col3) values (‘",A1,"‘,‘",B1,"‘,‘",C1,"‘);")

3、此時D1已經生成了如下的sql語句:
insert into table (col1,col2,col3) values (‘a‘,‘11‘,‘33‘);

4、將D1的公式復制到所有行的D列(就是用鼠標點住D1單元格的右下角一直拖拽下去啦)

5、此時D列已經生成了所有的sql語句

6、把D列復制到一個純文本文件中,假設為sql.txt

三、把sql.txt放到數據庫中運行即可,你可以用命令行導入,也可以用phpadmin運行。

四、對於大數據量的信息導入,按照上述方法制作刷庫腳本雖然簡單,可是每次只導入一條記錄會很耗資源和時間。所以考慮通過修改導入公式,實現批量數據一次性入庫,以節約刷庫時間和系統資源。

參考如下,假設一共有1000條記錄:

首條(第1行,包含第一條數據):

=CONCATENATE("insert into table (col1,col2,col3) values (‘",A1,"‘,‘",B1,"‘,‘",C1,"‘),")

首條(第1行,不包含數據)

=CONCATENATE("insert into table (col1,col2,col3) values ")

中部(第2~999行):

=CONCATENATE("(‘",A2,"‘,‘",B2,"‘,‘",C2,"‘),")

末條(第1000行):

=CONCATENATE("(‘",A1000,"‘,‘",B1000,"‘,‘",C1000,"‘);")

excel 中批量生成mysql的腳本