জাভা প্রোগ্রাম থেকে MySQL ডেটাবেসের মেটাডেটা (টেবিল নাম, কলাম নাম, টাইপ ইত্যাদি) বের করতে JDBC-র DatabaseMetaData ইন্টারফেস ব্যবহার করা হয়।
জাভা কোড উদাহরণ
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import com.mysql.jdbc.DatabaseMetaData;
public class GetDatabaseInformationDemo {
public static void main(String[] args) {
Connection con = null;
try {
con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/web?useSSL=false",
"root", "123456");
DatabaseMetaData metaData = (DatabaseMetaData) con.getMetaData();
String[] tableTypes = {"TABLE"};
ResultSet rs = metaData.getTables(null, null, null, tableTypes);
while (rs.next()) {
System.out.println(rs.getString(3)); // টেবিল নাম
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
আউটপুট (উদাহরণ)
demotable211 demotable212 demotable213 demotable214 demotable215 demotable216 name select
ব্যাখ্যা:
con.getMetaData()— কানেকশন থেকে DatabaseMetaData অবজেক্ট পাওয়া।getTables(catalog, schemaPattern, tableNamePattern, types)— টেবিলের লিস্ট পাওয়া।nullদিয়ে সব ক্যাটালগ/স্কিমা,types = {"TABLE"}দিয়ে শুধু টেবিল (ভিউ না)।rs.getString(3)— রেজাল্ট সেটের ৩ নম্বর কলাম টেবিল নাম (TABLE_NAME)।
অন্যান্য উপযোগী মেথড: getColumns(), getPrimaryKeys(), getImportedKeys(), getProcedures() ইত্যাদি।
সতর্কতা: com.mysql.jdbc.DatabaseMetaData পুরানো ড্রাইভার ক্লাস। নতুন ড্রাইভারে (MySQL Connector/J 8.0+) java.sql.DatabaseMetaData ইন্টারফেস সরাসরি ব্যবহার করুন।