MySqlCreateTable.java - Connector/J JDBC Create Table

Q

How to create a new table in MySQL using the Connector/J JDBC driver? I want to see a Java program example.

✍: FYIcenter.com

A

Here is a Java example that shows you how to create a new table in MySQL using the Connector/J JDBC driver:

// Copyright (c) 2016 FYIcenter.com
import java.sql.DriverManager;
import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;

// Example of Connector/J JDBC driver to create a new table
public class MySqlCreateTable {
   public static void main(String [] args) throws Exception {

      // Connector/J JDBC connection URL with required elements
      String url = "jdbc:mysql://localhost?user=root&password=fyicenter&useSSL=false";
      Connection con = DriverManager.getConnection(url);
      System.out.println("JDBC connection URL: "+url); 
      System.out.println("   Connected to: "+con.getCatalog()); 

      // Create a new database "FyiCenter" and connect to it
      String db = "FyiCenter";      
      Statement st = con.createStatement();
      st.execute("CREATE DATABASE "+db);
      con.setCatalog(db);
      System.out.println("   Connected to: "+con.getCatalog()); 

      // Create a new table "Profile"
      String sql = "CREATE TABLE Profile (ID INTEGER, Name VARCHAR(80))";
      st = con.createStatement();
      st.execute(sql);
      System.out.println("   Table Profile columns:");
      sql = "SELECT * FROM Profile";
      ResultSet rs = st.executeQuery(sql);
      ResultSetMetaData md = rs.getMetaData();
      System.out.println("      "+md.getColumnName(1)
         +": "+md.getColumnTypeName(1));
      System.out.println("      "+md.getColumnName(2)
         +": "+md.getColumnTypeName(2));
      
      // Drop the new database and its table
      st.execute("DROP DATABASE "+db);
      con.close();
   }
}

You can compile and run the above example in a command window as shown below:

C:\fyicenter>\local\jdk-1.8.0\bin\javac 
   MySqlCreateTable.java

C:\fyicenter>\local\jdk-1.8.0\bin\java
   -cp .;C:\local\mysql-connector-java-5.1.40\mysql-connector-java-5.1.40-bin.j
   MySqlCreateTable

JDBC connection URL: 
   jdbc:mysql://localhost?user=root&password=fyicenter&useSSL=false
   Connected to:
   Connected to: FyiCenter
   Table Profile columns:
      ID: INT
      Name: VARCHAR

Note that getColumnName(index) and getColumnTypeName(index) methods take input index value starting from 1, not 0.

 

Examples for Connector/J - JDBC Driver for MySQL

⇒⇒FAQ for Connector/J - JDBC Driver for MySQL

2016-12-02, 1162👍, 0💬