如何从数据库获取所有表名? [英] How to get all table names from a database?
本文介绍了如何从数据库获取所有表名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想从数据库模式中检索所有表名,如果可能,请获取所有以指定前缀开头的表。
我尝试使用JDBC的 connection.getMetaData()。getTables()
但它根本没有工作。
连接jdbcConnection = DriverManager.getConnection(,,);
DatabaseMetaData m = jdbcConnection.getMetaData();
ResultSet tables = m.getTables(jdbcConnection.getCatalog(),null,TAB_%,null);
for(int i = 0; i< tables.getMetaData()。getColumnCount(); i ++){
System.out.println(table =+ tables.getMetaData()。getTableName一世));
}
有人可以帮我吗?
< div需要遍历你的ResultSet调用
next()
。 这是 java2s.com :
DatabaseMetaData md = conn.getMetaData
ResultSet rs = md.getTables(null,null,%,null);
while(rs.next()){
System.out.println(rs.getString(3));
}
列 3 > TABLE_NAME (请参阅 getTables的文档)。
I'd like to retrieve all table names from a database schema, and, if possible, get all table starting with a specified prefix.
I tried using JDBC's connection.getMetaData().getTables()
but it didn't work at all.
Connection jdbcConnection = DriverManager.getConnection("", "", "");
DatabaseMetaData m = jdbcConnection.getMetaData();
ResultSet tables = m.getTables(jdbcConnection.getCatalog(), null, "TAB_%", null);
for (int i = 0; i < tables.getMetaData().getColumnCount(); i++) {
System.out.println("table = " + tables.getMetaData().getTableName(i));
}
Could someone help me on this?
解决方案
You need to iterate over your ResultSet calling next()
.
This is an example from java2s.com:
DatabaseMetaData md = conn.getMetaData();
ResultSet rs = md.getTables(null, null, "%", null);
while (rs.next()) {
System.out.println(rs.getString(3));
}
Column 3 is the TABLE_NAME
(see documentation of getTables).
这篇关于如何从数据库获取所有表名?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文