excel 中批量生成mysql的脚本
一、假设你的表格有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,"');")