如何把Excel表中数据导入数据库

如何把Excel表中数据导入数据库,第1张

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了

方法一:

(1)选择数据库

mysql>use abc ; //abc 是我创建的库名

(2)设置数据库编码

mysql>set names utf8;

(3)导入数据(注意sql文件的路径)

mysql>source /usr/bin/user sql;

方法二:

mysql -u用户名 -p 数据库名 < 数据库名sql

mysqldump -uroot -p dbname > dbname sql

导入导出都差不多;

导入数据方法如下:

首先对需求进行分析,按照传统模式,可以采用POI+JDBC的方式来进行导入数据。但是这种方式比较繁琐,同时插入效率在数据量很大时,相对来说还是不够高。还有一种更方便快速的方式实现该功能,就是利用Clickhouse自有的插入数据功能,类似于Mysql的load data语法实现的快速导入大批量数据的功能。

数据库(DataBase,DB)是按照数据结构来组织、存储和管理数据的仓库。随着信息技术和市场的发展,特别是20世纪90年代以后,数据管理不再仅仅是存储和管理数据,而转变成用户所需要的各种数据管理的方式。数据库有很多种类型,从最简单的存储有各种数据的表格到能够进行海量数据存储的大型数据库系统,在各个方面都得到了广泛的应用。

数据库是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。它是一个按数据结构来存储和管理数据的计算机软件系统。也就是说,数据库包含有两种含义:保管数据的“仓库”,以及管理数据的方法和技术。

今天见一位php同行在将从服务器mysql数据库导出的sql文件导入到本地

mysql数据库

,见他所用的方法很惊讶,他是用editplus打开下载下来的sql文件,复制所有内容,然后再粘贴到本地的phpmyadmin中。phpmyadmin复制了半天没有响应,最后还是没有将数据库导入到本地。

其实,跟我这位同行一样,很多php新手也是用的这种方法将sql文件导入到本地mysql数据库的。sql文件的数据小还好说,如果这个sql文件很大,上百兆的话,那么你可能都无法成功的导入到mysql数据库中去。这里我分享下我所使用的方法。

点击"开始"-"运行",输入cmd,然后回车进入到dos界面。先进入你的mysql安装目录。这里比方说你的mysql安装在d盘,你的sql文件也在d盘,加入命名为demosql, *** 作的方法是:输入"d:",回车即进入到d盘了,然后输入"cd

mysql/bin"并回车,然后输入"mysql

-u

root

-p

database

d:/demosql",回车显示要输入密码,如果你的mysql数据库的密码为空则不输入任何东西回车,没有出现错误说明导入成功。

说明:上面的database是你要导入的数据库名。

这个如果要自己管理数据的话还是挺有难度的。

不过借用数据库也许可以折中一下,把每个文档的数据放到数据库的一个字段中,然后用like'%%'匹配。(下策^_^)

推荐使用桌面搜索

方法/步骤

1

1)打开你的sql server,找到要导入数据的数据库,右键——〉任务——〉导入数据

2

2)按照图示选择要导入的excel

3

3)选择导入到哪个数据库

4

4)导入excel选择第一项即可,选择第二项是表与表直接内容的筛选复制

5

5)选择源表和源视图

6

6)编辑映射页面

7

7)继续下一步,点击完成,看到传输数据完成页面

8

8)进入数据库刷新,查看刚刚导入的表,完成!

以上就是关于如何把Excel表中数据导入数据库全部的内容,包括:如何把Excel表中数据导入数据库、sql文件怎么导入数据库mysql、网站用户提交的文件怎么直接导入数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存