1select into t# FROM openrowset( 'MicrosoftJetOLEDB40',
2'EXCEL 50;HDR=YES;IMEX=1; DATABASE=d:\kq\salaryxls',Sheet1$)
3上面是在sql server查询分析器直接导入数据,意思是将d:\kq\salaryxls的sheet1导入到sql 4server的表t#(该语句会新建表,如果sql server已经存在该表会报错)
你双击dbf是什么程序打开的?vfp吗?
你可以使用set printer to file abcsql
list to print
然后使用一个文本编辑器,如emeditor,编辑这个abcsql,将内容构造为标准的sql语句:
insert into mytable (a,b,c,d,e) values ('dbf_field1','dbf_field2','dbf_field3','dbf_field4','dbf_field5')
然后在mysql administrtor中,将这个abcsql导入到数据库中就可以了。
*** 作方法如下:
1、首先需要在mysql管理工具上面新建一个表,也可以用mysql命令创建,表建立完成之后,需要将表中的字段名字告诉给填写excel表的人员。
2、打开excel表,按照程序提供的字段填写相应的数据,需要跟程序提供的一样,其他的描述。
3、使用的mysql管理工具Navicatfor MySQL,打开工具,选择表所在的数据库,然后点击数据库名字,右键数据,出来下拉菜单选择import wizard ,有汉化版本的更明确d出一个选择界面,选择excel file文件。
4、点击next(下一步),选择对应的excel文件就行,然后再下面选文件内容在哪一个sheet中,也就是内容写在excel什么地方,这点需要注意,也是关键的地方。
5、点击next (此步骤也是关键步骤),需要注意2点: 1:filedname row 就是字段所在excel中的位置,也就是第几行(简单办法,一般就是英文对应的那一列)2:first data row(从哪一行开始执行),数据从哪一行开始。
6、点击next选择 targettable 目标对应的数据库,选择要导入到哪个数据库中表中。
7、如果到上面一步没有问题的话,默认next到最后 就行了然后打开表就能看到数据跟excel表中的一样。
导入时把生成索引给关掉,应该能快一点
不要一边导入一边建立索引
8G数据,应该也不那么慢了
把sql语句文件读取出一部分看看,建表语句中,应当有建立索引的部分,删掉它!
只做建表和插入数据两件事
还有,看看数据库有没有外键
尽量在插入数据过程中去掉外键关联
等数据插入完成之后再加索引和外键,应该能提高很多读写性能
截取一部分数据,例如100Mb
插入一下试试,可以预先对整体时间有一个预期
还有,真的要弄台好点的电脑,或者去借一台,等把数据导入完成之后,把msyql的库文件直接复制出来放自己机器上跑就好
emm
再追加点信息,要先搞明白,sql原文件里,到底都执行了哪几类 *** 作
可能需要你用c之类写点小工具,或者别的什么语言,分块读取并处理文件
8G
嗯,还好
现在内存都够大,否则你都没法直接用软件打开了
只有8G也可以直接用软件打开看
停掉索引真的可以大幅度加快插入数据的速度
建议试一试!
如果数据量不大的话可以使用导出到excel功能,然后在目标库中在通过excel导入数据,如果数据量大的就要使用数据库自身的导出功能了,到处以后会生成一个特定的文件,你可以在目标库中导入这个文件。
把EXCEL数据导入到SQL数据库中:
1、在数据库上点击右键,然后选择“任务”,选择“导入数据”,就看到d出淡入数据的对话框
2、Excel 上面的字段命名最好跟要导入到最终的那个表的字段相同。假设终表为A表。组装好 如下图:
3、按照 *** 作步骤走下去,最终会生成一个新的表(临时表B表)。
可以借助工具,MSSQL表数据导出成Insert语句的工具 即:将查询出来的这些数据都生成insert into语句。
最终在A表中执行该insert into语句就可以将excel中的数据最终放入数据库中。
以上就是关于如何对sql server数据库中某一个表批量导入excel数据全部的内容,包括:如何对sql server数据库中某一个表批量导入excel数据、怎么往mysql数据库的表中批量导入数据、MySql如何批量添加数据或导入excel表中的内容。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)