কম্পিউটার টিউটোরিয়াল

জাভা (Java) থেকে MySQL ডেটাবেসের স্ট্রাকচার তথ্য বের করা (DatabaseMetaData)

জাভা প্রোগ্রাম থেকে 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 ইন্টারফেস সরাসরি ব্যবহার করুন।

  1. MySQL-এ টার্মিনাল থেকে SQL ফাইল রান করা (mysql কমান্ড)

  2. Java দিয়ে MySQL ডেটাবেস থেকে লাস্ট রেকর্ড পাওয়া

  3. Java দিয়ে MySQL ডেটাবেসে সংযোগ স্থাপন

  4. Java-এ PreparedStatement ব্যবহার করে MySQL-এ NULL মান ইনসার্ট করা (setNull)