`
lippeng
  • 浏览: 454928 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Access 数据 导入mysql

阅读更多

刚完成了一件事,虽然不难,觉得挺好玩,在这里写写。。。

 

从Access中提取若干信息,导入到mysql中。

 

嗯,多简单的事呀。。。不过是SQL语句的导入导出嘛。。。我开始真的是这么想的。。。

 

做的时候发现,Access没有导出SQL的功能,不想用第三方的东西。。。

 

这里简单描述下我是怎么做的吧!

 

1、在access中建个视图,得到自己想要的数据;

 

2、把这个视图查询到的数据,导出成文本格式,我用的是CVS;

 

3、用文本编辑器,把导出的数据 处理成 SQL语句(多亏了vim,用其他编辑器都不知道怎么办才好,打开都成问题,更不用说快速编辑了。。。UE打开后,滚轮都滚不动的说。。。);

 

4、用mysql命令,导入mysql。

 

思路很清晰,我就这么做了。直到最后一步,才发现问题:数据量太大(68万条),这一步很慢很慢。

 

慢也就罢了,只做一次(等了我近2个小时),没什么关系。。。可是,马上发现,数据中时间格式不对。比如Access中是2011-1-1,而mysql这边,期望得到的是2011-01-01,就这一个时间,要改动几十万条记录,还不如重新导一份新的呢。。。

 

于是,重复步骤2,得到数据。

 

因为导入过程慢的实在太离谱了,就找了个mysqldump 备份出来的文件来看,看一看mysql官方觉得怎样导入数据会更快,于是发现了诸如下面的内容:

 

 

LOCK TABLES `tablename` WRITE;
ALTER TABLE `tablename` DISABLE KEYS;
INSERT INTO `tablename` (id,name,password) VALUES 
-- 这里是数据
;
ALTER TABLE `tablename`ENABLE KEYS;
UNLOCK TABLES;

 

很明显,这里的SQL从3个方面做了优化:

 

1、加了只写的锁(解锁之前,不能查询,索引 只在 最后做 一次,插入数据 就会快啦);

 

2、Disable了所有键(于是,就不用再做外键检查了,全心插入数据);

 

3、insert into 用一条语句完成(一条语句 和 多条语句 的性能,差别不是一般的大啊,想想也觉得是。。。)。

 

 

这样之后,几分钟就能搞定。

 

 

另外,说一点文本处理的。。。

 

一开始,习惯性的,要写成一条一条的SQL,于是想到了用宏来做。宏很简单,小数据量非常方便,不用大脑怎么思考。但是,做了一会,发现实在太慢了,大数据量,处理不了。

 

我平时很少写vim脚本,现在想来,用脚本也会很慢,毕竟要一行行的执行呀。。。

 

于是乎,写正则,查找替换。很快,几秒钟搞定一次替换。正则的威力,真不是一般的强大啊。。。上面说的时间格式的转换,也是在这里做的。

 

注意:如果你的文本很好看,可以试试列编辑。一般行首适用,后面 几乎都不可用了。。。效率还不错。。。

 

这里要说的是,不要把多行数据变成一行,没这个必要。变成一行后,可读性会变的很差,文本处理会变的非常的慢。如果一行匹配的次数过多,用g这个参数,往往会很慢。。。

 

 

就说这些吧。。。

 

重新理了下思路。。。

 

下次估计10分钟就能搞定这样的事。。。

 

 

 

 

 

0
0
分享到:
评论
1 楼 moonese 2011-06-21  
最后看 mysqldump 脚本的想法很不错! 

相关推荐

    Access数据库导入Mysql的方法

    这通常涉及几个步骤:导出Access数据、调整数据格式以适应MySQL的需求、创建MySQL表结构以及最终将数据导入MySQL。 #### 一、准备阶段 1. **备份原始数据**:在开始任何数据迁移之前,确保对原始Access数据库进行...

    将IP城市ACCESS数据库写入Mysql-将ACCESS数据库导入Mysql的范例

    将IP城市ACCESS数据库写入Mysql-将ACCESS数据库导入Mysql的范例 数据库是网上搜集的,如果有更新版的数据库请跟帖贴出地址。 一共328380条数据,按照每次写入1000个数据,大约需要30秒钟。单次数据量过大会报错。 将...

    Access 导入MySQL 数据文件

    总之,从Access导入MySQL数据文件是一个将小型数据库系统升级到更强大平台的过程。通过使用专门的工具如msa2mys,用户可以轻松地将Access的数据无缝迁移到MySQL,享受更高效、更强大的数据库服务。这一过程中,理解...

    access数据搬到mysql

    4. 数据导入:有多种方法可以将Access数据导入到MySQL。可以使用工具如"access2mysql",这是一个专门用于转换Access到MySQL的工具,它能够自动转换数据库结构并迁移数据。此外,还可以使用SQL脚本,将Access导出为...

    access导入MYSQL

    access数据导入MYSQL,数据表导入。

    Mysql数据库表编辑器,Access数据表导入到Mysql工具

    最近在搞Access数据库到Mysql迁移,编了一个简单的工具,用VB6编写的。 功能介绍: 1、可以直接编辑Mysql数据库...导入之前,请先用Mysql Query Browser创建一个与Access表结构一样的表,然后再使用这个工具导入。 交流

    asp通过DSN链接mysql数据库并将access的数据导入mysql中

    一旦记录集(rs)加载了Access数据,就可以开始将这些数据插入到MySQL数据库中。这通常通过循环遍历记录集,然后使用ADODB.Command对象执行INSERT语句来完成: ```vbscript While Not rs.EOF sql = "INSERT INTO ...

    access导入到mysql中.docx

    要将Access数据导入到MySQL,我们需要遵循以下步骤: 1. **数据备份**:在进行任何数据迁移之前,确保备份Access数据库,以防意外数据丢失。 2. **创建MySQL表结构**:在MySQL中创建与Access表结构匹配的新表。这...

    Python初级入门连接MySQL数据库并往数据库里添加数据

    我用的是MySQLdb库,连接的数据库也可用其他库连接。首先要安装配置MySQLdb库,网上有此处不再介绍。直接下载文件里面有详细注释、稍微改下即可用。

    数据库导入软件 mssql 导入mysql

    综上所述,"数据库导入软件 mssql 导入mysql"是一个涉及多方面技术知识的任务,包括数据提取、转换、加载、使用特定控件mydac进行操作,以及在本地环境进行调试。整个过程需要考虑数据库系统的特性差异、数据安全、...

    Access To MySQL Access 转 MySQL

    2. 数据迁移:将Access中的数据安全、完整地导入到MySQL中,需要处理各种数据类型的一致性,如日期、数字、文本等,并处理可能出现的编码问题。 3. SQL语法差异:Access使用的是JET引擎,而MySQL使用SQL标准,两者...

    mysql to access,用于mysql数据导入到sqlserver数据库

    我也是因为需要到处找,终于找到这款软件的,我找了一天,经过测试的,本软件用于mysql数据库数据转换为access数据,然后导入到sqlserver,这样就可以实现mysql到sqlserver的转换,并且附带我自己运行的界面哦,差点...

    将ACCESS和MSSQL导入MYSQL中.pdf

    总的来说,将Access和SQL Server数据导入MySQL是一项复杂但必要的任务,需要理解不同数据库系统的数据类型差异,并采取适当的方法进行数据迁移。这个过程中,了解并掌握数据类型转换规则是成功完成迁移的关键。

    ssm通过POI技术把excel数据导入mysql

    在本项目中,我们将探讨如何利用POI技术和SSM框架将Excel数据有效地导入MySQL数据库。 首先,我们需要了解Apache POI库。POI是一个开源的Java API,它允许我们读取、创建、修改Excel文件。通过使用POI,我们可以...

    如何把ACCESS的数据导入到Mysql中

    将Access数据导入到MySQL中是一个相对直接的过程,主要涉及导出Access数据、处理文本格式、以及使用适当的MySQL命令导入数据。遵循上述步骤可以帮助您顺利完成数据迁移任务。如果在操作过程中遇到问题,可以参考...

    mysql客户端Sqlyog之excel数据导入方法.docx

    MySQL 客户端 Sqlyog 之 Excel 数据导入方法 Sqlyog 是一款功能强大且易用的 MySQL 客户端工具,可以实现快速的数据导入和管理。下面我们将详细介绍 Sqlyog 之 Excel 数据导入方法。 Sqlyog 导入数据的优点 ...

    ACCESS数据库转换MYSQL数据库的软件

    如果想要将SQL SERVER的数据库转换到MYSQL,也可以使用这个软件,具体操作是先使用SQL SERVER的“导入和导出数据”将SQL SERVER数据导出到ACCESS文件,然后再将ACCESS文件导出为MYSQL语句。 运行转换功能后,系统会...

    Access2MySQL

    【Access2MySQL】是一款实用的数据转换工具,专门用于将Microsoft Access数据库中的数据高效地迁移到MySQL数据库系统中。这款软件能够帮助用户解决在数据库升级或迁移过程中遇到的问题,确保数据的完整性和一致性。 ...

    Mysql教程:将txt文本中的数据轻松导入MySQL表中的方法.doc

    其实,使用PHP脚本,我们可以轻松地将txt文本中的数据导入MySQL表中。 首先,我们需要将数据记录按行处理好,并用特定的字符分开,如逗号(,)。例如: aaa,bbb,ccc,ddd,eee fff,ggg,hhh,iii,jjj,kkk 然后,我们...

Global site tag (gtag.js) - Google Analytics