java - 检查数据库中是否有表

标签 java sql sql-server database jdbc

我想做与这个问题的答案相同的事情: Check if table exists 但我想检查是否存在任何表,而不仅仅是特定的表并且不迭代表名称,我的意思是数据库中是否存在任何表。 根据API,getTables()的第三个参数,

tableNamePattern - a table name pattern; must match the table name as it is stored in the database

所以看起来表名应该在数据库中完全匹配。有没有更好的方法来查找数据库中是否存在任何表?或者我真的必须循环遍历表名数组并调用:

getConnection().getMetaData().getTables(null, null, "table", null).next();

每次迭代?

最佳答案

您可以通过查询表INFORMATION_SCHEMA.TABLES来确定是否存在任何表:

select *
from INFORMATION_SCHEMA.TABLES;

如果您想查找名称中的特定模式,可以添加 where 子句:

WHERE table_name like YOURPATTERNHERE

关于java - 检查数据库中是否有表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24846983/

相关文章:

Java - 非匿名比较器模拟从集合中选择元素

java - HFS+ 文件系统上 Java 类名称中的非 ASCII 字符

启动时的 Java Jtable 行颜色

Java - Hibernate 和 DB2 - 正确的顺序使用

sql - 在 SQL View 中运行总计

sql - 计算过期的凭证,给定一个固定的窗口

java - 找不到从哪里获取 Spring xml 命名空间条目

Mysql COUNT 和 IF 用法

mysql - 删除 MySQL 中不同的前导值和训练值

asp.net - 如何在 Visual Studio 2013 中记录我的 SQL 调用?