1. 苏葳的备忘录首页
  2. 数据库

Access数据导入Mysql中

mysql access将一个mdb数据库中的几个表导入web上的mysql库中,本以为是很简单的工作,做起来却挺麻烦。mdb表中有备注字段,存放有文章,首先想导成excel,然后再导成csv文件,最后用phpmyadmin导入csv文件。结果发现,由于excel单元格长度限制255,所以另存为xls时即损失了内容,所以放弃了。因本人虚拟机上有个mysql库,所以准备把mdb库先导入本机的mysql库内,再从本机mysql库导入到web上的mysql中,毕竟mysql之间数据迁移会方便的多。

首先准备以odbc形式把数据直接从mdb文件导出到mysql中。下载了mysql的odbc驱动,安装,建立odbc的文件数据源,很容易的将mdb中的一个查询(对原表进行了一些处理)导出到了mysql中,但是查看mysql中的导入表,乱码,估计是字符集原因,因mysql的schema创建时未指定字符集,并且还有顾虑,以此方式导出,mysql如何选择准确的字段类型?有其不确定性。

删掉了原schema,用utf-8字符集再建个数据库:

mysql> create database zz_db default character set utf8;
Query OK, 1 row affected (0.00 sec)

创建目标表:其中id字段用int型,并设为主键,非空,唯一及自增列。而对应备注类型字段设为mysql的text数据类型。注意选择表的字符集为与database一致。然后,用网上找到的一个工具,将原access表转为sql语句,然后贴入mysql workbench执行,虽然很慢,但执行结果正常了。由于mysql workbench与mysql server分处两台虚拟机上,在集成环境窗口中语句执行非常缓慢。尝试把data.sql上传至mysql server所在的ubtuntu虚拟机上执行:

mysql -uroot -p xxxxx
use kk;
source /root/data.sql

结果瞬间数万条数据插入成功。

原创文章,作者:苏葳,如需转载,请注明出处:https://www.swmemo.com/561.html

发表评论

邮箱地址不会被公开。 必填项已用*标注