我想要获取所有以_tbl结尾的数据库表名,如xyz_tbl、pqr_tbl等。在mysql中使用java.pls帮助我..目前,我的查询检索所有的表名,但我只需要以_tbl结尾的表名。我的代码是...
public List selectTable() {
List tableNameList= new ArrayList();
try {
DatabaseMetaData dbm = c.conn.getMetaData();
String[] types = {"TABLE"};
c.rs = dbm.getTables(null, null, "%", types);
while (c.rs.next()) {
tableNameList.add(c.rs.getString("TABLE_NAME"));
}
} catch(Exception e) {
System.out.println(e.toString());
}
return tableNameList;
}发布于 2012-11-06 15:57:28
您是否尝试过使用不同的表名模式?
你可以试试这个:
c.rs = dbm.getTables(null, null, "%_tbl", types);发布于 2012-11-06 15:57:02
您可以使用mysql查询
show tables from tablename like '%_tbl';发布于 2012-11-06 16:12:35
我无法回复罗希特的帖子。他的答案看起来是对的。
如果您对DatabaseMetaData的getTables方法的JDK文档进行了修改,下面是签名和文档注释。
ResultSet getTables(String catalog, String schemaPattern, String tableNamePattern,
String[] types) throws SQLException参数:
目录名称-目录名称;必须与存储在数据库中的目录名称匹配;"“检索那些没有目录的目录名称;null表示不应使用目录名称来缩小搜索范围
schemaPattern -架构名称模式;必须与存储在数据库中的架构名称匹配;"“检索那些没有架构的名称;null表示不应使用架构名称来缩小搜索范围
tableNamePattern -表名模式;必须与存储在数据库中的表名匹配
types -要包含的表类型列表,必须来自getTableTypes()返回的表类型列表;null返回所有类型
在这种情况下,使用%_tbl应该是可行的。
https://stackoverflow.com/questions/13246606
复制相似问题