[forwarding] mysql数据库的备份、导入、导出命令,以及数据的导入、导出

数据库的备份、导入、导出是我们经常遇到的问题,而mysql数据库的广泛使用,受到越来越多人的喜欢。我个人比较喜欢用mysql,其实和mysql结缘还是大二的时候,当时自己的机器装上微软的SQL2000后都跑不起来……后来,听老师说mysql比较小,而且又是命令行操作(我个人最喜欢命令行下搞东西^_^),所以就下了mysql5.0安装,果然,mysql用起来就是爽,尽管当时没有安装图形用户,可是运行起来机器一点也不卡,难以想象,自己当初的那个p2的cpu256的内存跑个烂本本还如鱼得水……呵呵

…………………………

言归正传吧!

下面我和大家一起来学习mysql的备份、导入、以及导出命令

 我们还是先到mysql的命令行下吧:

××××××××××××××××××××××××××××××××××××××××××××××

>mysql -uroot -p

输入密码:******

mysql> drop database if exists test;
Query OK, 2 rows affected (0.06 sec)

 

mysql> create database test;
Query OK, 1 row affected (0.02 sec)

mysql> use test;
Database changed
mysql> create table t_student(
    -> id int not null,
    -> name char(10) not null,
    -> gender char(2) not null,
    -> birthdate datetime,
    -> primary key(id));
Query OK, 0 rows affected (0.01 sec)

mysql> insert into t_student values(1,‘zhangsan‘,‘male‘,‘1986-11-24‘);
Query OK, 1 row affected (0.02 sec)

好了,到这里我们的数据库创建,表的创建、初始化就结束了

××××××××××××××××××××××××××××××××××××××××××××××

一、备份数据库

备份数据库包括三层含义

1.导出整个数据库

进入mysql安装目录下bin目录(当然如果你的bin已经包含在path目录下,在任何目录下都可以)

用法:mysqldump -u 用户名 -p 数据库名 > 导出的文件名

mysqldump -uroot -p test>c:/temp/db_test.backup

输入密码:******

备份成功!现在我们以文本的方式打开c:/temp/db_test.backup这个文件,你会发现新大陆的^_^^_^

2.导出一个表
用法:mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

mysqldump -uroot -p test t_student>c:/temp/db_test.t_student.backup

3.导出一个数据库结构

这个说起来有点抽象,一会儿,我慢慢解释……

用法:mysqldump -uroot -p -d --add-drop-table 数据库名>导出文件名

mysqldump -uroot -p -d --add-drop-table test>c:/temp/db_test.structure.backup

**注意:

-d表示没有数据

--add-drop-table表示在每一个create语句之前添加一个drop table语句

打开c:/temp/db_test.structure.backup文件,和先前的两个文件比较,你会发现该文件里没有我们插入的数据

二、导入数据库

1.source命令

用法:mysql -uroot -p

输入密码:******

mysql>use 数据库名;

mysql>source 备份的数据库文件

mysql>source c:/temp/db_test.backup;

2.直接mysql -uroot -D数据库名< 备份的数据库文件

>mysql-uroot -p -Dtest<c:/temp/db_test.backup;

输入密码:******

三、数据的导入、导出

1.数据的导入

**注意:文本数据应符合的格式:字段数据之间用tab键隔开,null值用n来代替

这里我给t_student表添加一条记录,格式如下:

1    zhangsan    male    1986-11-24

保存为a.data文件名

用法: load data infile "文件名" into table 表名;

或者load data infile "文件名" into table 数据库名.表名

mysql -uroot -p

输入密码:******

mysql>use test;

mysql>load data infile "c:/temp/a.data" into table t_student;

**注意:你最好将文件复制到mysql/bin目录下,并且要先用use命令打表所在的库

2.数据的导出

mysql>select * from 数据库.数据表名 into outfile "文件名"

mysql>select * from test.t_student into outfile "c:/temp/data.out"

当然你也可以先use test;再select * from t_student into outfile "c:/temp/data.out"

 

 

 

原文链接:http://blog.csdn.net/deyinchan/article/details/2958375

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。