如何将excel表数据导入MySql数据库

如何将excel表数据导入MySql数据库,第1张

1首先我们需要在mysql管理工具上面新建一个表,也可以用mysql命令创建,表建立完成之后,你需要将表中的字段名字告诉给填写excel表的人员

2打开excel表,按照程序提供的字段填写相应的数据此时注意下面几点:名字(我用红色标示出来了)需要跟程序提供的一样,其他的描述,表头可以不写都行

3我使用的mysql管理工具是Navicatfor MySQL,打开工具,选择表所在的数据库,然后点击数据库名字,右键数据,出来下拉菜单选择import wizard ,有汉化版本的更明确d出一个选择界面,我们选择excel file文件

4点击next(下一步),我们选择我们对应的excel文件就行,然后再下面选在我们的文件内容在哪一个sheet中,也就是你的内容写在excel什么地方,这点需要注意,也是关键的地方,我的内容在sheet3中,所以我选择sheet3 ,

5点击next (此步骤也是关键步骤),需要注意2点: 1:filedname row 就是你的字段所在excel中的位置,也就是第几行(简单办法,一般就是英文对应的那一列)2:first data row(从哪一行开始执行),数据从哪一行开始呢,我这里选择的是3,4

6点击next 我们选择 targettable 目标对应的数据库,选择你要导入到哪个数据库中表中

7如果到上面一步没有问题的话,我们默认next到最后 就行了然后打开表就能看到数据跟excel表中的一样

找到你要导入的数据库,右击-->任务-->导入数据,出现的第一个窗体“选择数据源”就是提示你要选择你要导入的是什么数据,在“数据源”那个选项出选择“Microsoft

Excel”的选项,对应的在下面会提示选择excel数据的路径,选择路径之后,然后下一步,根据后续的提示继续就可以了。

你用是什么数据库

SQL SERVER 2005导入Excel的方法

--如果接受数据导入的表已经存在

insert into 表 select from

OPENROWSET('MICROSOFTJETOLEDB40'

,'Excel 50;HDR=YES;DATABASE=c:testxls',sheet1$)

--如果导入数据并生成表

select into 表 from

OPENROWSET('MICROSOFTJETOLEDB40'

,'Excel 50;HDR=YES;DATABASE=c:testxls',sheet1$)

什么数据库?如果是mssql数据库的话

打开企业管理器,展开服务器-展开数据库-右键点击那个数据库名字(想把excel中的数据导入到的数据库-所有任务-导入数据

然后按照提示一步一步的来,很简单的

1、直接用Sql语句查询

2、先用excle中的数据生成xml文件,再把xml导入数据库

第一种方法(方法二以后再试),找到联机丛书里实现此功能的Sql语句如下:

SELECT

FROMOpenDataSource('MicrosoftJetOLEDB40',

'DataSource="c:Financeaccountxls";UserID=Admin;Password=;Extendedproperties=Excel50')xactions

语句是有了,但我还是试了很久,因为各个参数具体该怎么设置它没有说。Data

Source就是excel文件的路径,这个简单;UserId、Password和Extended

properties这三个属性我改成了各种各样的与本机有关的用户名、密码以及excel版本都不对,最后用上面例子里的值“User

ID=Admin;Password=;Extended

properties=Excel

50”才成功了,晕啊;最后个“xactions”更是查了很多资料,其实就仅仅是excel文件里所选的工作表名而已,怪我对excel不够熟悉了,另外注意默认的Sheet1要写成[Sheet1$]

最后,看看我成功的测试

数据库里建好一个表testTable_1,有5个字段id,

name,

date,

money,

content,C盘下book1xls文件的sheet1工作表里写好对应的数据并设好数据类型,执行如下插入语句:

insertintotestTable_1([name],[date],[money],[content])

Select[姓名],[日期],[金额],[内容]

FROMOpenDataSource('MicrosoftJetOLEDB40',

'DataSource="C:Book1xls";

UserID=Admin;Password=;Extendedproperties=Excel50')[Sheet1$]

select里的列名我一开始用代替,但发现输出顺序与我预期的不同,是“金额、内容、日期、姓名”,不知道具体有什么规律,就老老实实写名字了。 *** 作成功

回过头来看看市场部的要求,假设在我这张表里实现,可以先判断如excel里存在与记录相同的name字段(name要唯一非空)时就删除记录,之后再插入,这样简单,但自增的id字段会因为插入而改变,那是不行的了。可行的方法是先读出excel里全部记录,然后用游标一条条分析,如果存在这个name就更新否则就插入。OK,下次就不用让他们再对着文档一条条Update了

以上就是关于如何将excel表数据导入MySql数据库全部的内容,包括:如何将excel表数据导入MySql数据库、如何把excel表格数据导入到数据库、如何把Excel表导入到数据库中去.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9286440.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存