java获取数据库里所有的表名

canca canca
2012-02-14 00:54
1
0

一.Java方法
// 得到当前数据库下所有的表名
public void getTableNameByCon(Connection con) {
   try {
   DatabaseMetaData meta = con.getMetaData();
   ResultSet rs = meta.getTables(null, null, null,
     new String[] { "TABLE" });
   while (rs.next()) {
     System.out.println("表名:" + rs.getString(3));
     System.out.println("表所属用户名:" + rs.getString(2));
     System.out.println("------------------------------");
   }
   con.close();
   } catch (Exception e) {
   try {
     con.close();
   } catch (SQLException e1) {
     // TODO Auto-generated catch block
     e1.printStackTrace();
   }
   // TODO Auto-generated catch block
   e.printStackTrace();
   }
}
二.通过sql语句得到数据库里所有的表名
--MySQL数据库
show tables;
--Oracle数据库(当前登录用户下的表)
select uo.object_name   from user_objects uo where uo.object_type = 'TABLE';
--sql server 2000/2005数据库
select name from sysobjects
--sybase数据库
select   name   from   sysobjects   where   type='U';
--DB2数据库  

select tabname from syscat.tables where tabschema = current schema ;// 获取当前模式下面的所有用户表

发表评论