Chinaunix首页 | 论坛 | 博客
  • 博客访问: 603603
  • 博文数量: 110
  • 博客积分: 8016
  • 博客等级: 中将
  • 技术积分: 1217
  • 用 户 组: 普通用户
  • 注册时间: 2006-06-28 10:14
文章分类

全部博文(110)

文章存档

2008年(1)

2007年(13)

2006年(96)

我的朋友

分类: Mysql/postgreSQL

2006-11-20 21:12:56

在建设网站的过程中,经常要处理一些数据的导入及导出。在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 指定结束输入行的串(可以是多字符的)。缺省时假定由换行符终止行。

阅读(2286) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~