Java中使用JDBC获取MySQL数据库的名称、表名和字段名及相关信息
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结构来自动关闭数据库连接和相关资源,避免了显式关闭资源的需要。
评论已关闭