查询数据库所有表并统计数量
package com.dbexp.text; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import com.mysql.jdbc.Connection; import com.mysql.jdbc.DatabaseMetaData; public class DateExp { Connection conn = null; public Connection getcConnection(){ try { Class.forName("com.mysql.jdbc.Driver"); conn = (Connection) DriverManager.getConnection("jdbc:mysql://localhost:3306/vocs", "root", "123456"); return conn; } catch (ClassNotFoundException e) { System.out.println("com.mysql.jdbc.Driver不存在!"); } catch (SQLException e) { System.out.println("数据库链接失败!"); } return null; } public void close(){ try { conn.close(); } catch (SQLException e) { System.out.println("数据库链接关闭失败!"); } } public List<Object> getAllTable(){ getcConnection(); //list集合中将会包含查询数据库的所有表名 List<Object> list = new ArrayList<Object>(); try { DatabaseMetaData dm = (DatabaseMetaData) conn.getMetaData(); ResultSet rs = dm.getTables("", "", null, null); while(rs.next()){ list.add(rs.getString("TABLE_NAME")); } close(); return list; } catch (SQLException e) { System.out.println("获取数据表失败!"); return null; } } public static void main(String[] args) { DateExp de = new DateExp(); List<Object> list = de.getAllTable(); int count = 0; for (int i = 0; i < list.size(); i++) { System.out.println(list.get(i)); if(i == list.size()-1){ count = i + 1; } } System.out.println("共 "+count+"张表"); } }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: SQL和Oracle中统计数据库中表个数及表名
- 下一篇: 用SQL语句统计一个表有多少列