如何在Java中检测给定SQL数据库中是否存在某个表?

推荐答案

You can use DatabaseMetaData.getTables() to get information about existing tables.

此方法的工作方式是透明的,并且独立于数据库引擎.我认为它在幕后查询信息架构表.

Edit:

这是an example that prints all existing table names美元.

DatabaseMetaData md = connection.getMetaData();
ResultSet rs = md.getTables(null, null, "%", null);
while (rs.next()) {
  System.out.println(rs.getString(3));
}

Database相关问答推荐

在使用FT.AGGREGATE聚合数据时,如何在Redis上解析ISO 8601时间?

如何将使用模块创建的 Redis RDB 文件迁移到没有该模块的部署? (RedisStack 版本 7.2+ 中不再包含 RedisGraph)

mongodb聚合从另一个查询中获取值

Android:我可以对多个数据库文件使用一个 SQLiteOpenHelper 类吗?

即使使用列入白名单的 IP,也无法连接到 Azure SQL 数据库

将 .frm 和 .opt 文件导入 MySQL

nodejs和数据库如何通信 ?

SQLite 如果列存在

是否应该强制执行参照完整性?

Oracle在哪些情况下会自动创建索引?

如何使用 SQL 命令文件创建 SQLite3 数据库文件?

South migration error: NoMigrations exception for django.contrib.auth

postgresql 在 where 子句中使用 json 子元素

如何产生幻读?

在 MySQL 存储过程中使用if和else

为什么在连接表上有一个主键不好?

限制一个 sqlite 表的最大行数

在 Firestore 中使用嵌套的单个查询

MongoDB 是否支持浮点类型?

在一个查询中使用 group by 计算多列