Home Jdbc Jdbc-mysql Copy One Database Table to Another

Related Tutorials


 
 

Share on Google+Share on Google+

Copy One Database Table to Another

Advertisement
In this section, you will learn to copy one database table to another database table. That means we copy one table to a different table but it contains a similar type of field or column.

Copy One Database Table to Another

     

In this section, you will learn to copy one database table to another database table. That means we copy one table to a different table but it contains a similar type of field or column. These tables aren?t in same database. Both the MySQL databases are different i.e. jdbc4 and jdbcMysql. The "jdbc4" database has "Copyemployee" table and "jdbcMysql" database also has a "Roseindia" table.

To copy the table you need to establish the connection with the MySQL database (jdbcMysql). When the connection is established then sql statement (?INSERT INTO Roseindia SELECT * FROM jdbc4.Copyemployee?) is executed and rows get copied. Once the rows get copied then it will display a message - ?number of row(s) affected!?. Whenever any row is not copied then it shows a message -  ?Don?t add any row!?.

Syntax for copy table:

?INSERT INTO <new_table_name> SELECT * FROM <Database_name.old_table_name>

Here is the code of program:

import java.sql.*;

public class CopyOneDatabaseTableToAnother {
  public static void main(String[] args) {
  System.out.println("Copy data from one database table to another!");
  Connection conn = null;
  String url = "jdbc:mysql://localhost:3306/";
  String dbName = "jdbcMysql";
  String driver = "com.mysql.jdbc.Driver";
  String userName = "root"
  String password = "root";
  try {
  Class.forName(driver).newInstance();
  conn = DriverManager.getConnection(url+dbName,userName,password);
  Statement st = conn.createStatement();
  //Copy table
  int rows = st.executeUpdate("INSERT INTO Roseinda SELECT * 
    FROM jdbc4.Copyemployee"
);
  if (rows == 0){
  System.out.println("Don't add any row!");
  }
  else{
  System.out.println(rows + " row(s)affected.");
  conn.close();
  }
  }
  catch (Exception e) {
  e.printStackTrace();
  }
  }
}

Download this program.

Table Name: Copyemployee(jdbc4)

empId empName empSal
8 AmarDeep 10000
7 Noor 50000
1 Vinod 50000
2 Sushil 80000

Table Name: Roseindia(jdbcMysql)

empId empName empSal
10 Suman saurabh 19000
11 Ravi 25000

Output of this program:

C:\vinod>javac CopyOneDatabaseTableToAnother.java

C:\vinod>java CopyOneDatabaseTableToAnother
Copy data from one database table to another!
4 row(s)affected.

C:\vinod>

After copy table: Roseindia(jdbcMysql)

empId empName empSal
10 Suman saurabh 19000
11 Ravi 25000
8 AmarDeep 10000
7 Noor 50000
1 Vinod 50000
2 Sushil 80000

 

Advertisements

If you enjoyed this post then why not add us on Google+? Add us to your Circles



Liked it!  Share this Tutorial


Follow us on Twitter, or add us on Facebook or Google Plus to keep you updated with the recent trends of Java and other open source platforms.

Posted on: July 6, 2007

Related Tutorials

Discuss: Copy One Database Table to Another   View All Comments

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments:2
Mario
December 20, 2013
Copy One Database Table to Another (VB.NET)

Hi guys Thanks for the post to copy to another database. I was just wondering if anybody has done this in VB.NET. Thanks a mill
Buruk
March 10, 2012
Question about where RoseIndia table resides

In the example you have shown above, I noticed that you have only created one connection. Does this mean that the RoseIndia table resides in the same host as the java program being executed? I am wondering how I can copy a table from one database on one host to another database on another host. I may thinking of this wrong but would you have to either load the table into java via statements then unload into the new database with another connection. Or is there a way to link databases in java?
DMCA.com