ใช้เมธอด getMetaData() ของ ResultSet เพื่อดึงข้อมูลเมตา รวมถึงชื่อคอลัมน์
Prototype
ResultSetMetaData getMetaData() throws SQLException;
ตัวอย่างโค้ด Java
import java.sql.*;
import com.mysql.jdbc.ResultSetMetaData;
public class GetAllColumnNames {
public static void main(String[] args) {
String jdbcURL = "jdbc:mysql://localhost:3306/test?useSSL=false";
String username = "root";
String password = "123456";
try (Connection con = DriverManager.getConnection(jdbcURL, username, password);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM javagetallcolumnnames")) {
ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData();
int columnCount = md.getColumnCount();
String[] colNames = new String[columnCount];
System.out.println("The column names are as follows:");
for (int i = 1; i <= columnCount; i++) {
colNames[i-1] = md.getColumnLabel(i);
System.out.println(colNames[i-1]);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
สร้างตารางทดสอบ 5 คอลัมน์:
mysql> CREATE TABLE javagetallcolumnnames ( Id INT NOT NULL AUTO_INCREMENT, Name VARCHAR(20), Age INT, Salary FLOAT, Address VARCHAR(100), PRIMARY KEY(Id) );
ผลลัพธ์การรัน:
The column names are as follows: Id Name Age Salary Address
หมายเหตุ: ใช้ getColumnLabel() เพื่อได้ชื่ออlias (ถ้ามี) หรือ getColumnName() สำหรับชื่อคอลัมน์จริง