`

Java代码实现mysql导入导出

 
阅读更多

注意实现mysql导入导出必须配制好环境变量,例如:C:\Program Files\MySQL\MySQL Server 5.1\bin;否则将无法正常运行。

package cc.javaweb;

import java.io.BufferedReader;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

public class MySQLTest {

public static void main(String[] args) {
String config[] =new String[7];
config[0] = "-uroot"; //用户名
config[1] = "-proot"; //密码
config[2] = "-hlocalhost"; //主机
config[3] = "takoocomcn"; //数据库名
config[4] = "f:/data.sql"; //导出数据库路征
config[5] = "f:/data.sql"; //导入数据库路征
config[6] = "my"; //导入数据库名称
backup(config);
load(config);
}

private static void backup(String config[]) {
try {
Runtime rt = Runtime.getRuntime();

// 调用 mysql 的 cmd:
Process child = rt
.exec("mysqldump " + config[0] + " "+config[1]+" "+config[2]+" "+config[3]+" --set-charset=utf8"); // --add-drop-table设置导出编码为utf8。这里必须是utf8

// 把进程执行中的控制台输出信息写入.sql文件,即生成了备份文件。注:如果不对控制台信息进行读出,则会导致进程堵塞无法运行
InputStream in = child.getInputStream(); // 控制台的输出信息作为输入流

InputStreamReader xx = new InputStreamReader(in, "utf8" ); // 设置输出流编码为utf8。这里必须是utf8,否则从流中读入的是乱码

String inStr;
StringBuffer sb = new StringBuffer("");
String outStr = "";
// 组合控制台输出信息字符串
BufferedReader br = new BufferedReader(xx);
while ((inStr = br.readLine()) != null ) {
sb.append(inStr + " \r\n " );
}
outStr = sb.toString();
// 要用来做导入用的sql目标文件:
FileOutputStream fout = new FileOutputStream(config[4]);
OutputStreamWriter writer = new OutputStreamWriter(fout, "utf8");
writer.write(outStr);
// 注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
writer.flush();

// 别忘记关闭输入输出流
in.close();
xx.close();
br.close();
writer.close();
fout.close();

System.out.println(" /* Output OK! */ ");

} catch (Exception e) {
e.printStackTrace();
}
}
private static void load(String[] config) {
try {
String fPath = config[5];
Runtime rt = Runtime.getRuntime();

// 调用 mysql 的 cmd:
Process child = rt.exec("mysql " + config[0] + " "+config[1]+" "+config[2]+" "+config[3]);

OutputStream out = child.getOutputStream();//控制台的输入信息作为输出流
StringBuffer sb = new StringBuffer("");
String outStr;
// BufferedReader br = new BufferedReader(new InputStreamReader(
// new FileInputStream(fPath), "utf8"));
// while ((inStr = br.readLine()) != null) {
// sb.append(inStr + "\r\n");
// }
sb.append("use " + config[6] + ";\r\n");
sb.append("source "+fPath);
outStr = sb.toString();

OutputStreamWriter writer = new OutputStreamWriter(out, "utf8");
writer.write(outStr);
// 注:这里如果用缓冲方式写入文件的话,会导致中文乱码,用flush()方法则可以避免
writer.flush();
// 别忘记关闭输入输出流
out.close();
// br.close();
writer.close();
System.out.println( " /* Load OK! */ " );
} catch (Exception e) {
e.printStackTrace();
}
}
}
 


文章转自Java中文网:http://www.javaweb.cc/language/java/152482.shtml

分享到:
评论
1 楼 kinglinma 2012-08-09  
你确定你测试通过了吗?
没测试别乱喷!!!

相关推荐

    Java实现mysql导入导出Excel

    在Java编程环境中,将MySQL数据库的数据导入到Excel或者将Excel数据导出到MySQL是一项常见的任务。这涉及到对Java处理文件、数据库操作以及处理Excel数据的能力。以下是对这个主题的详细阐述: 1. **Java处理Excel*...

    java调用mysql命令 导入导出数据库

    在这个过程中,Java通过JDBC(Java Database Connectivity)接口与MySQL进行交互,利用MySQL提供的命令行工具如`mysqldump`和`mysql`来实现数据的导入导出。 首先,我们需要了解JDBC。JDBC是Java平台上的一个标准...

    导入导出mysql数据

    本篇文章将深入探讨如何通过 Java 代码实现 MySQL 数据库的导入与导出操作。 ### MySQL 数据库的导出(备份) #### 原理 MySQL 提供了 `mysqldump` 工具来实现数据库的导出功能,它可以将数据库中的数据和结构转换...

    JAVA实现数据库数据导入导出到Excel(POI)所需jar包

    在Java开发中,有时我们需要将数据库中的数据导出到Excel文件,或者从Excel文件...通过正确理解和使用POI库,你可以轻松地实现数据的导入导出,提升工作效率。记得在项目中引入正确的jar包,以确保所有功能的正常运行。

    java实现mysql数据库的表导出到excel文件

    本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 首先,我们需要了解的是Java与数据库交互的基础——JDBC(Java Database Connectivity)。JDBC是Java API,...

    用JAVA导出MYSQL的数据

    本话题主要探讨如何使用Java程序导出MySQL数据库中的数据。以下将详细讲解相关概念和技术。 首先,导出MySQL数据最常用的方式是通过命令行工具`mysqldump`。`mysqldump`是一个实用程序,它能备份MySQL数据库,生成...

    javatools数据导入导出工具

    JavaTools是一款基于Java开发的数据导入导出工具,主要用于数据库管理和数据迁移工作。它提供了一种简单易用的图形用户界面,使得非编程人员也能轻松处理数据的导入与导出任务。在更新后的版本v1.0.5中,开发者对...

    使用Springboot实现excel的导入导出

    在Spring Boot中实现Excel的导入导出可以通过POI库来实现,POI是一个开源的Java库,用于处理Microsoft Office格式文件,包括Excel。一个简单的示例,演示如何在Spring Boot项目中使用POI来实现Excel的导入导出功能。...

    Java实现数据的导入导出

    本篇将详细探讨如何利用Java实现数据的导入导出,以及如何在不同系统之间进行数据迁移。 首先,我们来看"Java实现数据的导入导出"这一主题。在这个过程中,通常涉及两个主要步骤:数据导出和数据导入。数据导出是指...

    mysql 导入导出 sql文件

    ### MySQL导入导出SQL文件详解 #### 一、概述 MySQL作为一款广泛使用的开源关系型数据库管理系统,在数据管理和维护方面提供了强大的支持。其中,数据的导入导出是日常数据库管理中非常重要的环节之一。本文将详细...

    execl导入导出

    "Excel导入导出"这一主题涵盖了如何将数据从外部源导入到Excel工作表,以及如何将Excel数据导出到其他格式或系统中。以下是对这个主题的详细阐述: **一、Excel数据导入** 1. **CSV导入**:CSV(逗号分隔值)是一...

    java编写的数据库导入和导出工具

    - 数据导入导出可能涉及大量计算,使用多线程可以提高性能,避免阻塞用户界面。 6. **日志记录**: - 为了跟踪程序运行状态和错误,通常会使用如Log4j或SLF4J这样的日志框架。 7. **命令行参数处理**: - 如果...

    Spring3 MVC + POI 实现 Excel与MySQL 的导入导出

    综上所述,Spring3 MVC + POI 实现 Excel与MySQL 的导入导出是企业级应用中的常见技术组合,通过合理的设计和实现,可以有效地提高数据处理的效率和灵活性。开发者应当熟练掌握Spring MVC的控制器设计、服务层业务...

    java实现Excel数据导入到mysql数据库.zip

    总结来说,这个项目涵盖了Java编程、文件操作(尤其是Excel处理)、数据库连接与操作(通过JDBC和SQL)以及数据导入导出策略等多个IT核心技能。对于学习和提升这些技能,这个项目提供了一个很好的实践平台。

    java自动导入导出

    - SQL语句如`SELECT INTO OUTFILE`和`LOAD DATA INFILE`可用于MySQL等数据库的批量导入导出,但在Java程序中通常通过JDBC执行这些SQL来实现自动化。 3. **Linux环境下的Java程序**: - Java程序是跨平台的,因此...

    MySQL 快速导入导出

    自己用JAVA做的第一个swing程序,用来快速导入导出MySQL数据库,导入整个库6万条数据只需要5秒钟,处女作 见笑了。 使用方法:需要系统支持JAVA环境并安装了MySQL,直接运行MySQLdump.jar,填好相应设置项,点击...

    JAVA跨数据库导出导入数据:SQL2000 导入到 MYSQL(附件)

    本话题聚焦于如何使用JAVA来实现SQL Server 2000中的数据导出并导入到MySQL的过程。这是一个涉及多平台兼容性和数据转换的问题,通常需要特定的工具或自定义代码来完成。 首先,SQL Server 2000是微软提供的一个...

    MySQL数据库快速导入导出

    自己用JAVA做的第一个swing程序,用来快速导入导出MySQL数据库,导入整个库6万条数据只需要5秒钟,处女作 见笑了。 使用方法:需要系统支持JAVA环境并安装了MySQL,直接运行DBdump.jar,填好相应项,按步骤导入导出...

Global site tag (gtag.js) - Google Analytics