Java Program to Use Methods of Column to Get Column Name in JDBC Last Updated : 23 Jul, 2025 Comments Improve Suggest changes Like Article Like Report Java Database Connectivity or JDBC is a Java API (application programming interface) used to perform database operations through Java application. It allows the execution of SQL commands for the creation of tables and data manipulation through Java application. Java supports java.sql package which contains inbuilt methods for accessing and processing data stored in a database. The methods in java.sql throw SQL exceptions hence the code block must be either placed within a try block and let the catch block handle exceptions if any else add throws clause to the main method. Procedure: The forName() is a static method of class which is used to load the driver.Next the connection to the database is established using the getConnection() method of DriverManager class. The getConnection() accepts the URLs, username and password to establish a connection. The methods defined in the Statement interface is used to interact with the database.First, the table is created and then records are inserted into the table.The sql commands are batched together using addBatch() and executed all at once using executeBatch() method.The records in the table are fetched into the ResultSet.The getMetaData() method of ResultSet is used to get the metadata of the records fetched into the ResultSet.The getColumnCount() and getColumnName() methods of ResultSetMetaData interface is used to get the number of columns and name of each column in the table.Example 1: Java // Java Program to Use Methods of Column // to get column name in JDBC // Step 1: Importing DB files import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; // Class to get columns public class GFG { // Main driver method public static void main(String args[]) { try { // Step 2: Loading and registering drivers // Loading driver class // using forName() method Class.forName("oracle.jdbc.OracleDriver"); // Step 3: Establishing te connection Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:xe", "username", "password"); Statement s = con.createStatement(); // Step 4: Create a statement String sql1 = "CREATE TABLE ACADEMY(COURSE_ID VARCHAR2(20) PRIMARY KEY, COURSE_NAME VARCHAR2(20),MENTOR VARCHAR2(20),COURSE_FEE NUMBER)"; // Step 5: Process the query // Inserting records in the table String sql2 = "INSERT INTO ACADEMY VALUES('C101','MATH','ROBERT',5000)"; String sql3 = "INSERT INTO ACADEMY VALUES('C102','PHYSICS','JANE',8000)"; String sql4 = "INSERT INTO ACADEMY VALUES('C103','HISTORY','ADAM',6000)"; String sql5 = "INSERT INTO ACADEMY VALUES('C104','BIOLOGY','MARIE',5000)"; String sql6 = "INSERT INTO ACADEMY VALUES('C105','ENGLISH','ALBERT',3000)"; s.addBatch(sql1); s.addBatch(sql2); s.addBatch(sql3); s.addBatch(sql4); s.addBatch(sql5); s.addBatch(sql6); // Step 6: Execute the statements // executing the sql commands s.executeBatch(); // Obtaining the resultset ResultSet rs = s.executeQuery("SELECT * FROM ACADEMY"); while (rs.next()) { System.out.println( rs.getString(1) + "\t\t" + rs.getString(2) + "\t\t" + rs.getString(3) + "\t\t" + rs.getString(4)); } // Retrieving the ResultSetMetadata object ResultSetMetaData rsMetaData = rs.getMetaData(); System.out.println( "List of column names in the current table: "); // Retrieving the list of column names int count = rsMetaData.getColumnCount(); for (int i = 1; i& lt; = count; i++) { System.out.print(rsMetaData.getColumnName(i) + "\t"); } // Step 7: Close the connection con.commit(); con.close(); } // Catch block to handle exceptions catch (Exception e) { // Print the exception System.out.println(e); } } } Output: Example 2: Java // Java Program to Use Methods of Column // to get column name in JDBC // Step 1: Importing DB files import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; // Class public class GFG { // Main driver method public static void main(String args[]) { // Try block to check if exception occurs try { // Step 2: Loading and registering drivers // Loading driver class // using forName() method Class.forName("oracle.jdbc.OracleDriver"); // Step 3: Establish a connection // Create connection object Connection con = DriverManager.getConnection( "jdbc:oracle:thin:@localhost:1521:xe", "cse", "cse"); Statement s = con.createStatement(); // Step 4: Create a starement/s // create table String sql1 = "CREATE TABLE STUDENT(STUDENTID VARCHAR2(20) PRIMARY KEY, NAME VARCHAR2(20), DEPARTMENT VARCHAR2(10))"; // insert records in the table String sql2 = "INSERT INTO STUDENT VALUES('S001','JOE','CSE')"; String sql3 = "INSERT INTO STUDENT VALUES('S002','BECK','IT')"; String sql4 = "INSERT INTO STUDENT VALUES('S003','KANE','ECE')"; String sql5 = "INSERT INTO STUDENT VALUES('S004','FALLON','CSE')"; String sql6 = "INSERT INTO STUDENT VALUES('S005','LIAM','CSE')"; // Step 5: Execute the query s.addBatch(sql1); s.addBatch(sql2); s.addBatch(sql3); s.addBatch(sql4); s.addBatch(sql5); s.addBatch(sql6); // Executing the sql commands s.executeBatch(); // Obtaining the resultset ResultSet rs = s.executeQuery("SELECT * FROM STUDENT"); // Retrieving the ResultSetMetadata object ResultSetMetaData rsMetaData = rs.getMetaData(); // Retrieving the list of column names int count = rsMetaData.getColumnCount(); // Step 6: Process the statements for (int i = 1; i <= count; i++) { System.out.print(rsMetaData.getColumnName(i) + "\t"); } System.out.println( "\n----------------------------------------------------------------"); while (rs.next()) { System.out.println(rs.getString(1) + "\t\t" + rs.getString(2) + "\t" + rs.getString(3)); } // Step 7: Close the connection con.commit(); con.close(); } // Catch block to handle if exception occurs catch (Exception e) { // Print the exception System.out.println(e); } } } Output: Create Quiz Comment S Shreyasi_Chakraborty Follow 0 Improve S Shreyasi_Chakraborty Follow 0 Improve Article Tags : Java Technical Scripter Java Programs Technical Scripter 2020 JDBC +1 More Explore Java BasicsIntroduction to Java3 min readJava Programming Basics9 min readJava Methods6 min readAccess Modifiers in Java4 min readArrays in Java7 min readJava Strings7 min readRegular Expressions in Java3 min readOOP & InterfacesClasses and Objects in Java5 min readAccess Modifiers in Java4 min readJava Constructors4 min readJava OOP(Object Oriented Programming) Concepts10 min readJava Packages2 min readJava Interface7 min readCollectionsCollections in Java12 min readCollections Class in Java13 min readCollection Interface in Java4 min readIterator in Java4 min readJava Comparator Interface5 min readException HandlingJava Exception Handling6 min readJava Try Catch Block4 min readJava final, finally and finalize4 min readChained Exceptions in Java3 min readNull Pointer Exception in Java5 min readException Handling with Method Overriding in Java4 min readJava AdvancedJava Multithreading Tutorial3 min readSynchronization in Java7 min readFile Handling in Java4 min readJava Method References7 min readJava 8 Stream Tutorial7 min readJava Networking6 min readJDBC Tutorial5 min readJava Memory Management3 min readGarbage Collection in Java6 min readMemory Leaks in Java3 min readPractice JavaJava Interview Questions and Answers1 min readJava Programs - Java Programming Examples7 min readJava Exercises - Basic to Advanced Java Practice Programs with Solutions5 min readJava Quiz1 min readJava Project Ideas For Beginners and Advanced15+ min read Like