Criar banco de dados MySql via aplicação Java

3 respostas
E

Saudações!

Estou tentando criar um banco de dados através da aplicação que irá utilizá-lo. Para melhor exemplificar: o usuário, ao logar, recebe a mensagem de criação do banco e, ao clicar em um botão, o banco deve ser criado. O principal intuito disso é facilitar e evitar erros ao criar o executável do programa. Já encontrei soluções utilizando outros SGBDs, mas não encontrei para MySql. Alguém poderia me ajudar? =D

3 Respostas

D

E qual o problema?
Através do java você consegue executar DDL no MySQL e, sendo assim, consegue criar banco de dados (DATABASE), tabelas (TABLES) e afins.

A

Usando JDBC.
Testa, se funcionar confirma aqui.

Conn = DriverManager.getConnection
("jdbc:mysql://localhost/?user=root&password=rootpassword"); 
s=Conn.createStatement();
int Result=s.executeUpdate("CREATE DATABASE databasename");
E

Deu certo sim, obrigada ^^
Meu código ficou assim:

public class TesteBD extends javax.swing.JFrame {
   final private String driver = "com.mysql.jdbc.Driver";
    public Connection Conn;
   public Statement s;
   
    public TesteBD() {
        initComponents();
    }

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        //código inserido na ação do botão
        try {   
           Class.forName(driver); 
           
           Conn = DriverManager.getConnection("jdbc:mysql://localhost", "root", "");
           
       } catch (SQLException ex) {
           Logger.getLogger(TesteBD.class.getName()).log(Level.SEVERE, null, ex);
       } catch (ClassNotFoundException ex) {
           Logger.getLogger(TesteBD.class.getName()).log(Level.SEVERE, null, ex);
       }
         try {  
         
         s=Conn.createStatement();
             
       } catch (SQLException ex) {
           Logger.getLogger(TesteBD.class.getName()).log(Level.SEVERE, null, ex);
       }
       
       try {  
           s.executeUpdate("CREATE DATABASE databasename");
           
          
       } catch (SQLException ex) {
           Logger.getLogger(TesteBD.class.getName()).log(Level.SEVERE, null, ex);
       }
    }
Criado 19 de novembro de 2013
Ultima resposta 20 de nov. de 2013
Respostas 3
Participantes 3