诺亚方舟

沉淀

Mysql之数据导入导出

因为工作的需要,很经常要利用现有的数据库搭个相同的测试环境,那么自然就涉及到了数据的导入导出。ok,下面开始正文,介绍最近学到的两方法。

第一种,利用mysqldump命令导出数据,再利用mysql中source导入数据。这种方式实际上是将数据库中的内容写成sql语句,保存起来后到另一部服务器上重新执行这些sql语句来实现数据导入导出。

 

1
2
3
4
导出整个数据库,包括表结构与表数据
mysqldump -uroot -ppassword database > xxx.sql
或者导出某张表
mysqldump -uroot -ppassword database table > xxx.sql
1
2
3
只导出表结构,此时只需要加上-d选项
mysqldump -uroot -ppassword -d database > xxx.sql
mysqldump -uroot -ppassword -d database table > xxx.sql
1
2
只导出表数据不导出结构,这种还没试过...
mysqldump -uroot -ppassword -d database -t > xxx.sql

数据库导入则需要进入到mysql客户端,然后利用mysql内置的source命令导入sql文件

1
source xxx.sql

总结:这种方式只需要数据库的存在,不需要建立表(因为都已经写到sql文件里面了),比较便捷,不过数据维度比较大,至少为一张数据表。

下面链接记录更多选项http://wangwei007.blog.51cto.com/68019/980586

第二种,利用load data来实现数据库的导入导出。

可以参看另一篇文章http://www.iamjs.net/nyfz/?p=199

总结:这种方式可以支持更小维度的数据,比方说某一列,可以算得上是“专业的”导数据工具,弊端在于如果想导整个表数据就麻烦了,因为这种方法需要手动建立数据表,这时候就可以利用下第一种方式,利用mysqldump来建立数据表结构。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>