Java中使用JDBC获取MySQL数据库的名称、表名和字段名及相关信息
    		       		warning:
    		            这篇文章距离上次修改已过446天,其中的内容可能已经有所变动。
    		        
        		                
                
import java.sql.*;
 
public class JDBCExample {
    public static void main(String[] args) {
        // 数据库URL,用户名和密码
        String jdbcUrl = "jdbc:mysql://localhost:3306/数据库名";
        String user = "用户名";
        String pass = "密码";
 
        // 注册JDBC驱动
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            e.printStackTrace();
            return;
        }
 
        // 建立连接
        try (Connection conn = DriverManager.getConnection(jdbcUrl, user, pass);
             // 创建Statement对象
             Statement statement = conn.createStatement();
             // 创建结果集对象
             ResultSet resultSet = statement.executeQuery("SHOW DATABASES")) {
 
            // 遍历数据库名
            while (resultSet.next()) {
                System.out.println("数据库名: " + resultSet.getString(1));
            }
 
            // 获取指定数据库的表名和字段信息
            String tableQuery = "SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '数据库名'";
            resultSet = statement.executeQuery(tableQuery);
 
            // 遍历表名和字段名
            while (resultSet.next()) {
                System.out.println("表名: " + resultSet.getString("TABLE_NAME") + ", 字段名: " + resultSet.getString("COLUMN_NAME"));
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}确保替换jdbc:mysql://localhost:3306/数据库名中的数据库名、用户名和密码为实际的数据库信息。代码中使用了try-with-resources结构来自动关闭数据库连接和相关资源,避免了显式关闭资源的需要。
评论已关闭