2009-04-04 34 views
20

¿Es posible crear una base de datos MySQL desde Java?Crear base de datos MySQL desde Java

Sólo he visto URL de conexión de ejemplos como este, donde se especifica el nombre de la base de datos en la URL:

String url="jdbc:mysql://localhost:3306/test"; 

Connection con = DriverManager.getConnection(url, "cb0", "xxx"); 

¿Cómo puedo crear una base de datos MySQL, cuando sólo tengo un nombre de usuario y contraseña?

Respuesta

2

Para hacer las cosas aún más fácil, puede utilizar NetBeans 6.5 y hace que la creación de Bases de datos SQL TAN mucho más fácil. Los estoy usando ahora y es un salvavidas en diseños de GUI y conexiones de bases de datos. Aquí hay un código de cómo me conecto a la base de datos MySQL desde NetBeans:

//these are variables i declare in the beginning of my code 
    public static final String DRIVER = "com.mysql.jdbc.Driver"; 
    public static final String DATABASE_URL = "jdbc:mysql://localhost:3306/jtschema"; 
    private Connection connection = null; 
    public static Statement statement = null; 

    public void initSQLServer() { 
     try { 
      Class.forName(DRIVER).newInstance(); 
      try { 
       connection = DriverManager.getConnection(DATABASE_URL, "root", "Dropatrain!248"); 
       statement = connection.createStatement(); 
      } catch (SQLException e) { 
       System.out.println("SQLException: " + e.getMessage()); 
       System.out.println("SQLState: " + e.getSQLState()); 
       System.out.println("VendorError: " + e.getErrorCode()); 
      } 
     } catch (Exception ex) { 
      System.out.println(ex); 
     } 
    } 
+0

¡La wiki de NetBeans tiene toda la información que necesitas, aunque también configuró una tabla SQL en tu proyecto! – durrellp

2

Un enfoque elegante a este tipo de problemas es el uso de DDL Utils de Apache. No solo cumpliría el propósito básico de permitir la ejecución de sus DDL (configurables externamente), sino que también haría que la base de datos de su aplicación sea independiente.

7

Para crear la base de datos a través de código Java, debe utilizar executeUpdate(sql) en lugar de executeQuery(sql); y conectarse a la base de datos mysql como root:

connection = DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull", 
    "root", "root" 
); 
Statement st = connection.createStatement(); 
st.executeUpdate(sql); 
st.close(); 
1

Se puede utilizar esta líneas:

try { 
     String databaseName = "dbName"; 
     String userName = "root"; 
     String password = "yourPassword"; 

     String url = "jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull"; 
     Connection connection = DriverManager.getConnection(url,username, password); 

     String sql = "CREATE DATABASE " + databaseName; 

     Statement statement = connection.createStatement(); 
     statement.executeUpdate(sql); 
     statement.close(); 
     JOptionPane.showMessageDialog(null, databaseName + " Database has been created successfully", "System Message", JOptionPane.INFORMATION_MESSAGE); 

    } catch (Exception e) { 
     e.printStackTrace(); 
} 
+0

Pm me su dirección de correo electrónico para que pueda enviar el archivo JAR. –

+2

Gracias. Pero tenga en cuenta que la pregunta fue hace 6 años :) – cb0

Cuestiones relacionadas