java获取mysql数据库中表名和列名
时间: 2024-04-30 16:17:33 浏览: 85
要获取MySQL数据库中表名和列名,可以使用以下Java代码:
```java
import java.sql.*;
public class MySQLMetadata {
static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
static final String DB_URL = "jdbc:mysql://localhost/your_database_name";
static final String USER = "your_username";
static final String PASS = "your_password";
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
try {
Class.forName(JDBC_DRIVER);
conn = DriverManager.getConnection(DB_URL, USER, PASS);
DatabaseMetaData meta = conn.getMetaData();
System.out.println("List of Tables: ");
ResultSet rs = meta.getTables(null, null, null, new String[] {"TABLE"});
while (rs.next()) {
System.out.println(rs.getString("TABLE_NAME"));
}
System.out.println("List of Columns: ");
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM your_table_name");
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
for (int i = 1; i <= columnCount; i++) {
System.out.println(rsmd.getColumnName(i));
}
rs.close();
stmt.close();
conn.close();
} catch (SQLException se) {
se.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (stmt != null)
stmt.close();
} catch (SQLException se2) {
}
try {
if (conn != null)
conn.close();
} catch (SQLException se) {
se.printStackTrace();
}
}
}
}
```
其中,`getTables()` 方法可以获取数据库中的所有表名,而 `getColumnName()` 方法可以获取指定表名中的所有列名。在代码中,需要修改的地方包括:
- `DB_URL`:将 `your_database_name` 替换为实际的数据库名。
- `USER` 和 `PASS`:将 `your_username` 和 `your_password` 替换为实际的数据库用户名和密码。
- `rs = stmt.executeQuery("SELECT * FROM your_table_name")`:将 `your_table_name` 替换为实际的表名。
阅读全文