据库的导入导操作相对某些人来说还是蛮频繁的,针对不同需要,有时候需要整个表做备份,有时候又可能要整个数据库做备份。mysql平时用得不多(公司用的oracle),这里把MySQL的数据备份和还原简单的做个介绍,免得以后自己都忘了。。。以下操作都是命令行下的,木办法,哥就希望命令行了。
简单的mysql命令这里就不多做介绍了,以下就直切主题了。
一、备份(导出)数据库
三种形式的备份
1.导出整个数据库
比较适合做数据库迁移,操作起来也不复杂。
用法:mysqldump -u 用户名 -p 数据库名 > 导出的文件名
mysqldump -u root -p test > test_bak.backup备份成功!你可以以文本方式打开备份出来的文件,发现了木有,有木有?
2.导出一个表
用法:mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名
mysqldump -u root -p wordpressDB > wordpressDB.wp_posts.backup3.导出一个数据结构
数据结构是神马东东,呃,结构嘛,就是空有表的结构而没有表数据,从生产环境往测试环境同步数据的时候可能会用到,毕竟生产上的数据太大,测试环境估计放不下完整数据,所以先建好表再稍微插入点数据就够了,这个语句稍微复杂点,相关参数后面有介绍。
用法:mysqldump -uroot -p -d –add-drop-table 数据库名>导出文件名
mysqldump -u root -p -d --add-drop-table test > test.structure.backup参数介绍
-d 表示没有数据
–add-drop-table 表示在每一个create语句之前添加一个drop table语句
二、还原(导入)数据库
1.source命令
用法:mysql -uroot –p
mysql>use 数据库名;
mysql>source 备份的数据库文件;
2.-D参数直接导入
mysql -uroot –D 数据库名< 备份的数据库文件
mysql-u root -p -D test < test_bak.backup;三、数据的导入、导出
刚才说的都是数据库的导入导出,还有单纯的数据的导入导出方法
1.数据的导入
数据格式:字段数据之间用tab键隔开,null值用n来代替
比如说给student表添加一条记录,格式如下:
1 zhangsan male 1986-11-24
保存为stu_data.data文件
用法:
load data infile "文件名" into table 表名;
或者load data infile "文件名" into table 数据库名.表名
mysql>use test; mysql>load data infile "stu_data.data" into table test.student;
2.数据的导出
用法:mysql>select * from 数据库.数据表名 into outfile "文件名"
mysql>select * from test.t_student into outfile "stu_data.out"
注意:本文中涉及的文件操作都没有加上路径,所有的输入输出文件默认在当前目录下(嘻嘻,少敲点字母不是,不过这可不是个好习惯,大家千万不要学我哦)