Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

Java से MySQL डेटाबेस की सभी टेबल नाम प्राप्त करें: DatabaseMetaData API

JDBC DatabaseMetaData.getTables() से MySQL डेटाबेस की सभी टेबल सूचीबद्ध करना

Java कोड उदाहरण

import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.DatabaseMetaData;

public class GetAllTables {
    public static void main(String[] args) throws SQLException {
        Connection conn = null;
        try {
            // JDBC ड्राइवर लोड करें
            try {
                Class.forName("com.mysql.jdbc.Driver");
            } catch (Exception e) {
                System.out.println(e);
            }
            
            // कनेक्शन स्थापित करें
            conn = (Connection) DriverManager.getConnection(
                "jdbc:mysql://localhost/test", "Manish", "123456");
            System.out.println("Connection is created successfully:");
            
        } catch (Exception e) {
            System.out.println(e);
        }
        
        // मेटाडेटा से टेबल प्राप्त करें
        ResultSet rs = null;
        DatabaseMetaData meta = (DatabaseMetaData) conn.getMetaData();
        rs = meta.getTables(null, null, null, new String[] {"TABLE"});
        
        int count = 0;
        System.out.println("All table names are in test database:");
        while (rs.next()) {
            String tblName = rs.getString("TABLE_NAME");
            System.out.println(tblName);
            count++;
        }
        System.out.println(count + " Rows in set");
    }
}

आउटपुट (103 टेबल):

Connection is created successfully:
All table names are in test database:
add30minutesdemo
addcolumn
addoneday
agecalculatesdemo
aliasdemo
... (कुल 103 टेबल) ...
zipcodepadwithzerodemo
103 Rows in set

MySQL कमांड लाइन से क्रॉस-चेक:

mysql> USE test; 
Database changed
mysql> SHOW TABLES;

दोनों समान 103 टेबल दिखाते हैं।

कोड समझाया:

चरणकोडविवरण
1Class.forName()JDBC ड्राइवर लोड (पुराने वर्जन के लिए)
2DriverManager.getConnection()DB कनेक्शन
3conn.getMetaData()DatabaseMetaData ऑब्जेक्ट
4meta.getTables(catalog, schema, table, types)टेबल मेटाडेटा
5rs.getString("TABLE_NAME")टेबल नाम निकालें

getTables() पैरामीटर:

getTables(String catalog, String schemaPattern, String tableNamePattern, String[] types)
  • catalog: कैटलॉग नाम (null = सभी)
  • schemaPattern: स्कीमा पैटर्न (null = सभी)
  • tableNamePattern: टेबल नाम पैटर्न (null = सभी)
  • types: टेबल प्रकार — "TABLE", "VIEW", "SYSTEM TABLE", "ALIAS"

आधुनिक JDBC (Java 8+/MySQL Connector/J 8+):

// ड्राइवर ऑटो-लोड होता है (ServiceLoader)
try (Connection conn = DriverManager.getConnection(url, user, pass);
     ResultSet rs = conn.getMetaData().getTables(null, "test", "%", new String[]{"TABLE"})) {
    while (rs.next()) {
        System.out.println(rs.getString("TABLE_NAME"));
    }
}

उपयोग केस:

  • डायनामिक स्कीमा इंस्पेक्शन टूल
  • माइग्रेशन/डिप्लॉयमेंट स्क्रिप्ट
  • एडमिन डैशबोर्ड
  • ORM फ्रेमवर्क इंटीग्रेशन
  1. Java के साथ MySQL डेटाबेस से कनेक्ट करना Java के साथ MySQL डेटाबेस से कनेक्ट करना

    परिचय Java में JDBC (Java Database Connectivity) API का उपयोग करके MySQL डेटाबेस से कनेक्ट किया जाता है। इसके लिए MySQL JDBC ड्राइवर (Connector/J) की आवश्यकता होती है। कनेक्शन URL और पैरामीटर्स String MySQLURL = jdbc:mysql://localhost:3306/yourDatabaseName?useSSL=false; String databaseUserName = yo

  1. डेटाबेस में टेबलों की संख्या प्रदर्शित करने का MySQL क्वेरी क्या है? डेटाबेस में टेबलों की संख्या प्रदर्शित करने का MySQL क्वेरी क्या है?

    मान लीजिए, यहाँ मैं WEB डेटाबेस का उपयोग कर रहा हूँ। हमें डेटाबेस WEB में टेबलों की संख्या ज्ञात करनी है। इसके लिए MySQL में INFORMATION_SCHEMA.TABLES का उपयोग करें। टेबलों की संख्या प्रदर्शित करने का क्वेरी निम्न है: mysql> select count(table_name) as TotalNumberOfTablesInWebDatabase -> from

  1. Java में JDBC ResultSet से MySQL टेबल मान प्रदर्शित करें Java में JDBC ResultSet से MySQL टेबल मान प्रदर्शित करें

    टेबल और डेटा insert into demo87 values(John,21), (David,23), (Bob,22); Java कोड: ResultSet से HashMap में डेटा import java.sql.*; import java.util.*; import com.mysql.jdbc.Statement; public class TableValuesDemo { public static void main(String[] args) { Connection con = null;