如何从数据库获取所有表名? [英] How to get all table names from a database?

查看:712
本文介绍了如何从数据库获取所有表名?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从数据库模式中检索所有表名,如果可能,请获取所有以指定前缀开头的表。



我尝试使用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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆