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来建立数据表结构。
strtotime,计算日期很好用的一个函数 shell变量的玩法(持续更新)