数据库的备份、导入、导出是我们经常遇到的问题,而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