设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 729|回复: 7
打印 上一主题 下一主题

一种把ACCESS的数据导入到MySQL中的方法?

[复制链接]
跳转到指定楼层
1#
发表于 2002-9-25 01:44:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
--------------------------------------------------------------------------------
  在建设网站的过程中,经常要处理一些数据的导入及导出。在MySQL数据库中,有两种方法来处理数据的导出(一般)。

  1. 使用select * from table_name into outfile "file_name";
  2. 使用MySQLdump实用程序

  下面我们来举例说明:

  假设我们的数据库中有一个库为samp_db,一个表为samp_table。现在要把samp_table的数据导出。则我们可以利用以下方法来实现:

  在MySQL提示符下打入select * from samp_table into outfile "file_name";
  在系统命令提示符下打入MySQLdump -u root samp_db samp_table >samp.sql

  (当然MySQLdump有很多选项。如 -d 表示只导出表结构;-t 表示只导入表数据)

  如何来处理数据的导入:一般我们在系统命令提示符下打入MySQLimport -u root samp_db samp_table.txt(注意:这个TXT文件名必须以表的名字命名)。对于MySQLdump导出的数据我们还可以用MySQL -u root samp_db < file_name来导入。在MySQL提示符下我们用Load data infile "file_name" into table samp_table。

  另外除了以上方法,对于移动后的数据库系统与原系统一致的前提下,我们可以通过文件的拷贝来实现数据的导入与导出.首先我们用MySQLadmin -u root variables(在系统命令提示符下)或者用show variables;(在MySQL提示符下)来找到datadir。如在我的环境下,此目录在c:\MySQL\data.然后对其中的一些文件进行拷贝。一切ok!

  有了以上知识后,我们进入正题:如何把ACCESS的数据导入到MySQL中。

  首先我们把数据从ACCESS中导出为文本文件。在导出过程中注意选择好字段分隔符和文本标识符,且查看一下文本文件,确定一个记录是否在同一行上,如不是,则手工把回车键除掉.假如我们导出的文本文件为c:\samp_table.txt.其内容如下:

  1,张新化,男
  2,江先进,女
  …..

  接下来我们用MySQLimport -u root -fields-terminated-by="\," samp_db samp_table.txt ,或者用load data infile "c:\\samp_table.txt" into table samp_table fields terminated by "\,";

  去试一下(注意转义字符),是不是一切ok!如果还不行,请仔细看一下具体命令的帮助。下面列出一些选项:

  fields-enclosed-by=char 指明列值应包括在指定的字符中。通常用引号、缺省时,假定列值不包括在任何字符中。

  fields-escaped-by=char 表示用于转义特殊字符的转义符.缺省时表示无转义符。

  fields-terminated-by=char 指定分隔列的字符。缺省时假定列值由制表符分隔。

  lines-terminated-by=str 指定结束输入行的串(可以是多字符的)。缺省时假定由换行符终止行。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2002-9-25 02:27:00 | 只看该作者
好法子,但是我一直用ACCESS來搞前端的,還從沒用他來存過數據哪?
MSSQL用起來不錯,但是只能用在microsoft自家的田裡,隨然有人成功的從linux用php連接上它,但哪些好速雜,又會出問題。(維護不方便呀),在類unix系統上,似乎postgresql才性格比最高呀。
3#
发表于 2002-9-25 20:59:00 | 只看该作者
不過,新的發現,用access來作前端,用linux系統下的mysql來作後端,也挻方便的。
下一次再開發,就試一試完完這樣的。
4#
 楼主| 发表于 2002-9-25 21:18:00 | 只看该作者
有道理!!我正在试验ux下mysql后台!我想这样应该可以解决access大型数据库远程传输速度慢的现象!
5#
发表于 2002-9-26 01:58:00 | 只看该作者
這樣搞蝚大的賣點是:
在lan中用戶可以用access前台來輸入和處理數據,在WAN中,用戶可以用php來查詢數據。
6#
 楼主| 发表于 2002-9-26 02:06:00 | 只看该作者
不错!!
7#
发表于 2002-9-26 02:25:00 | 只看该作者
真不知,人們為什麼要用這樣的方法來把ACCESS的數據移植到MYSQL是,如果用了MYODBC,哪麼對MDB稍加處理,就可以很簡單有效的移植到MySQL中。MySQL好像出了新版,可以支持事務,視圖和參照的完整性了,但存儲過程哪,和像mssql一樣的函數哪,也就是說有SQL方言,而非C開發的涵數,MYSQL就作不到,而在這點postgresql就作的非常優秀,我覺得一個所謂的大型商業數據庫在這些方面都沒有postgresql作的好!
8#
 楼主| 发表于 2002-9-26 16:26:00 | 只看该作者
具体问题请于微软讨论!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-9-22 12:39 , Processed in 0.112444 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表