检查数据库结构是否正确

时间:2019-02-13 17:31:22

标签: java mysql jdbc

我从用户那里获取数据库的URL,用户,密码信息

Connection db = DriverManager.getConnection(url, user, pass);

稍后,我将动态地对此数据库执行操作。显然,我也捕获了错误,但是在我第一次连接数据库时,我想验证它是否具有将要使用的正确的表和列(更容易在开始时抛出错误“此数据库未正确设置”)而不是做很多事,然后然后找出数据库设置不正确)。

我该如何验证?

例如必须检查它的结构是否包含表名和列名以及类似的类型

create table user (
  username varchar(16) not null,
  primary key (username)
  );
create table foo (
  id int unsigned auto_increment not null,
  one int,
  two tinytext not null,
  three int
  );

1 个答案:

答案 0 :(得分:0)

要使用与数据库无关的方式查询表及其列,请调用conn.getMetaData()

然后使用getTables(String catalog, String schemaPattern, String tableNamePattern, String\[\] types)查询表信息。

使用getColumns(String catalog, String schemaPattern, String tableNamePattern, String columnNamePattern)查询列信息。

有关其他可用方法,请参见DatabaseMetaData的javadoc。