Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57969
  • 博文数量: 25
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 330
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-26 22:41
文章分类
文章存档

2009年(2)

2008年(23)

我的朋友
最近访客

分类: Mysql/postgreSQL

2008-10-08 17:04:20

测试数据名:test,其中有一个表loginuser;
mysqldump.exe 在mysql\bin下。
在提示符状态下输入一下命令:

以root用户的权限导出整个数据库:mysqldump test >/back.txt -u root -p  加上“/”,那么导出的

back.txt就在根目录中,比如:c:\下;

以root用户的权限导出数据库中的一张表:mysqldump test loginuser >/back.txt -u root -p

以上命令不用-u root -p部分也行,以上命令会导出CREATE,INSERT命令;如果只想要CREATE命令,用如

下命令:
mysqldump -d test -d loginuser >/back.txt

如果只想导出insert命名,用如下命令:
mysqldump -t test -t loginuser >/back.txt

以文本形式导出一个表的内容
在mysql>输入:select * from loginuser into outfile "\back.txt"; 生成的back.txt文件在mysql安装

的根目录下;



我们有一个库为
phptest,其中有一个表为driver。现在要把driver卸成文件。执行命令:
mysql> use phptest;
Database Changed
mysql> select * from driver into outfile 'a.txt';
Query OK, 22 rows affected (0.05 sec)
  上面就可以完成将表driver从数据库中卸到a.txt文件中。注意文件名要加单
引号。
那么这个文件在哪
呢?在mysql目录下有一个data目录,它即是数据库文件所放的地方。每个库在单
独占一
个子目录,所以
phptest的目录为c:\mysql\data\phptest(注意:我的mysql安装在c:\mysql下)。
好,现
在我们进去,a.txt
就是它。打开这个文件,可能是:
1 Mika Hakinnen 1
2 David Coulthard 1
3 Michael Schumacher 2
4 Rubens Barrichello 2
...
  可能还有很多记录。每个字段之间是用制表符分开的(\t)。那么我们可以修
改输出
文件名的目录,以便
放在指定的位置。如'a.txt'可以改成'./a.txt'或'/a.txt'。其中'./a.txt'放在
c:\my
sql\data目录下了,
而'/a.txt'文件则放在c:\目录下了。所以select命令认为的当前目录是数据库的
存放目
录,这里是
c:\mysql\data。
  使用select命令还可以指定卸出文件时,字段之间的分隔字符,转义字符,
包括字
符,及记录行分隔字
符。列在下面:
FIELDS
TERMINATED BY '\t'
[OPTIONALLY] ENCLOSED BY ''
ESCAPED BY '\\'
LINES
TERMINATED BY '\n'
TERMINATED 表示字段分隔
[OPTIONALLY] ENCLOSED 表示字段用什么字符包括起来,如果使用了OPTIONALLY
则只有
CHAR和VERCHAR
被包括
ESCAPED 表示当需要转义时用什么作为转义字符
LINES TERMINATED 表示每行记录之间用什么分隔
  上面列的是缺省值,而且这些项都是可选的,不选则使用缺省值。可以根据
需要进
行修改。给出一个例
子如下:
mysql> select * from driver into outfile 'a.txt' fields terminated by 
',' en
closed by '"';
Query OK, 22 rows affected (0.06 sec)
  结果可能如下:
"1","Mika","Hakinnen","1"
"2","David","Coulthard","1"
"3","Michael","Schumacher","2"
"4","Rubens","Barrichello","2"
...
  可以看到每个字段都用','进行了分隔,且每个字段都用'"'包括了起来。注
意,行
记录分隔符可以是
一个字符串,请大家自行测试。不过,如果输出文件在指定目录下如果存在的话
就会报
错,先删除再测
试即可。
阅读(1380) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~