我知道下面的代码为我提供了SQL数据库中的表数量(我使用SQLite),但是如何获取表的“顺序”,因此可以进行for循环来扫描所有表他们吗?
String numtables = "String sql = “SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'database’ ”;
pst = con.prepareStatement(numtables);
ResultSet numt = pst.executeQuery(numtables);
int num = ((Number) rs1.getObject(1)).intValue();
答案 0 :(得分:0)
正确的查询应该是(您在谈论数据库中的表)
SELECT * FROM my_db.sqlite_master WHERE type='table' order by rootpage;
通过查询 rootpage 可以找到任何索引或表的根页码。 它们不一定是后续数字。
然后您可以按照常规方式浏览结果集
while (rs.next())
当然要注意语法错误,并按照其他建议尽可能多地使用Preparestatement策略。