Verificar se a tabela já existe no banco MYSQL?[resolvido]

Estou tentando fazer uma verificação se a tabela já existe no banco de dados, mas, não estou conseguindo e já vi vários tuto mas nenhum conseguiu me ajudar tens algum modelo.
quero que o programa faça uma comparação com uma Combobox e se não tiver tabela com esse valor, ele criará uma com o nome especificado.

Tem como?

1 curtida
Connection conexao = DriverManager.getConnection(URL, USUARIO, SENHA);

DatabaseMetaData metadados = conexao.getMetaData();

ResultSet tabela = metadados.getTables(null, null, "NomeTabela", null);

if (!tabela.next()) {
  // Se não existe cria
}
1 curtida

No terceiro parametro dessa linha metaData.getTables(null, null, "users", null); informe o nome da tabela, ou seja, no método getTables .

Imports

import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;


Código

String driverName = "com.mysql.jdbc.Driver";                         
Class.forName(driverName);
Connection con = DriverManager
         .getConnection("jdbc:mysql://localhost/database", "root", "senha");
DatabaseMetaData metaData = con.getMetaData();

//Informe o nome da tabela no 3 parametro!
ResultSet tables = metaData.getTables(null, null, "users", null);
if (tables.next()){ // a tabela existe
    System.out.println(tables.getString("TABLE_NAME"));
} else {
   System.out.println("Tabela não encontrada");
}
1 curtida

O código está bem simples para entender.

2 curtidas

desculpe a demora, obrigado