热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

Access数据导入mysql

从Access中提取若干信息,导入到mysql中。  嗯,多简单的事呀。。。不过是SQL语句的导入导出嘛。。。我开始真的是这么想的。。。  做的时候发现,Access没有导出SQL的功能,不想用第三方的东西。。。 SyntaxHig

从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官方觉得怎样导入数据会更快,于是发现了诸如下面的内容:

 


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 用一条语句完成(一条语句 和 金条语句 的性能,差别不是一般的大啊,想想也觉得是。。。)。

 

 

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

 

 

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

 

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

 

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

 

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

 

 注意:即使你的文本很好看,可以试试列编辑。一般行首适用,后面 几乎都不可用了。。。

 

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

 

 

 就说这些吧。。。

 

 重新理了下思路。。。

 

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

 


推荐阅读
  • 本文介绍了在MacOS系统上安装MySQL的步骤,并详细说明了如何设置MySQL服务的开机启动和如何修改MySQL的密码。通过下载MySQL的macos版本并按照提示一步一步安装,在系统偏好设置中可以找到MySQL的图标进行设置。同时,还介绍了通过终端命令来修改MySQL的密码的具体操作步骤。 ... [详细]
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • Python项目实战10.2:MySQL读写分离性能优化
    本文介绍了在Python项目实战中进行MySQL读写分离的性能优化,包括主从同步的配置和Django实现,以及在两台centos 7系统上安装和配置MySQL的步骤。同时还介绍了创建从数据库的用户和权限的方法。摘要长度为176字。 ... [详细]
  • 在数据分析工作中,我们通常会遇到这样的问题,一个业务部门由若干业务组构成,需要筛选出每个业务组里业绩前N名的业务员。这其实是一个分组排序的 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 如何在php中将mysql查询结果赋值给变量
    本文介绍了在php中将mysql查询结果赋值给变量的方法,包括从mysql表中查询count(学号)并赋值给一个变量,以及如何将sql中查询单条结果赋值给php页面的一个变量。同时还讨论了php调用mysql查询结果到变量的方法,并提供了示例代码。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文详细介绍了Vim编辑器中的三种模式(命令模式、末行模式和编辑模式)以及它们之间的操作区别和切换方法。Vim编辑器凭借其多种命令快捷键和高效率的操作方式,得到了广大厂商和用户的认可。对于想要高效操作文本的用户来说,了解这些模式的使用方法是必不可少的。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • (九)Docker常用安装
    一、总体步骤1、搜索镜像2、拉取镜像3、查看镜像4、启动镜像5、停止镜像6、移除镜像二、安装tomcat1、dockerhub上面查找tomcat镜像 dockersearchto ... [详细]
  • PHP输出缓冲控制Output Control系列函数详解【PHP】
    后端开发|php教程PHP,输出缓冲,Output,Control后端开发-php教程概述全景网页源码,vscode如何打开c,ubuntu强制解锁,sts启动tomcat慢,sq ... [详细]
  • 本文主要介绍关于linux文件描述符设置,centos7设置文件句柄数,centos7查看进程数的知识点,对【Linux之进程数和句柄数】和【linux句柄数含义】有兴趣的朋友可以看下由【东城绝神】投 ... [详细]
  • MySQL5.6.40在CentOS764下安装过程 ... [详细]
author-avatar
童月圆524
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有