sql
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 thegetColumnName(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";
Class.forName(driverName);
// 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);
System.out.println(columnName);
}
} catch (SQLException e) {
System.out.println("Could not retrieve database metadata " + e.getMessage());
}
}
}
Example Output:
Successfully Connected to the database!
test_table columns :
test_col
This was an example of how to get the column names of a database Table in Java.


merci , ca marche pour moi