Getting column names of a database table

With this example we are going to demonstrate how to get the column names of a database Table. In short, to get the column names of a database Table you should:

  • Load the JDBC driver, using the forName(String className) API method of the Class. In this example we use the MySQL JDBC driver.
  • Create a Connection to the database. Invoke the getConnection(String url, String user, String password) API method of the DriverManager to create the connection.
  • Create a Statement, using the createStatement() API method of the Connection.
  • Execute the query to the database, using the executeQuery(String sql) API method. The data produced by the given query is a ResultSet.
  • Create a ResultSetMetaData, using the getMetaData() API method of the ResultSet. It is the number, types and properties of this ResultSet object’s columns.
  • Invoke the getColumnCount() API method to get the number of columns in this ResultSet. For each one of them, get the column’s name, using the getColumnName(int column) API method.

Let’s take a look at the code snippet that follows:

package com.javacodegeeks.snippets.core;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;

public class RetrieveColumnNamesExample {
  public static void main(String[] args) {

    Connection connection = null;
    try {

  // Load the MySQL JDBC driver

  String driverName = "com.mysql.jdbc.Driver";


  // Create a connection to the database

  String serverName = "localhost";

  String schema = "test";

  String url = "jdbc:mysql://" + serverName +  "/" + schema;

  String username = "username";

  String password = "password";

  connection = DriverManager.getConnection(url, username, password);


  System.out.println("Successfully Connected to the database!");

    } catch (ClassNotFoundException e) {

  System.out.println("Could not find the database driver " + e.getMessage());
    } catch (SQLException e) {

  System.out.println("Could not connect to the database " + e.getMessage());

    try {

// Create a result set

Statement statement = connection.createStatement();

ResultSet results = statement.executeQuery("SELECT * FROM test_table");

// Get resultset metadata

ResultSetMetaData metadata = results.getMetaData();

int columnCount = metadata.getColumnCount();

System.out.println("test_table columns : ");

// Get the column names; column indices start from 1

for (int i=1; i<=columnCount; i++) {

  String columnName = metadata.getColumnName(i);



    } catch (SQLException e) {

  System.out.println("Could not retrieve database metadata " + e.getMessage());


Example Output:

Successfully Connected to the database!
test_table columns : 

This was an example of how to get the column names of a database Table in Java.

Ilias Tsagklis

Ilias is a software developer turned online entrepreneur. He is co-founder and Executive Editor at Java Code Geeks.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment
Newest Most Voted
Inline Feedbacks
View all comments
1 year ago

merci , ca marche pour moi

Back to top button