首页 > 数据库 > MySQL > 正文

ACCESS数据库数据如何导入mysql数据库中

2024-07-09 22:43:48
字体:
来源:转载
供稿:网友

在Access没有导出SQL的功能,那么ACCESS数据库数据如何导入mysql数据库中,下面就介绍下Access 数据导入mysql的方法吧!

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

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

3、用文本编辑器,把导出的数据 处理成 SQL语句;

4、用mysql命令,导入mysql。

有木有发现,在实际操作直到最后一步,才发现问题:数据量太大,这一步很慢很慢。慢也就罢了,可是马上发现,数据中时间格式不对。比如Access中是2011-1-1,而mysql这边,期望得到的是2011-01-01,就这一个时间,要改动几十万条记录,还不如重新导一份新的呢。

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

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

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

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 用一条语句完成(一条语句 和全条语句 的性能,差别不是一般的大啊,这样之后,几分钟就能搞定)。




发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表