2009-04-04 18 views
20

JavaデータベースをJavaから作成できますか?JavaデータベースをJavaから作成

私は、データベース名がURLに指定されている。このような接続URLの例を見てきました:私は唯一のログイン名とパスワードを持っている場合

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

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

は、どのように私はMySQLデータベースを作成することができますか?

答えて

38

あなたが何かを行うことができますので、http://forums.mysql.com/read.php?39,99321,102211#msg-102211http://marc.info/?l=mysql-java&m=104508605511590&w=2で推奨されるようにデータベースは、JDBC接続に必要とされていない:あなたは、NetBeans 6.5を使用できることをさらに容易にするために

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

+1素敵な答えを、私の問題を解決しました – SpringLearner

2

、それが設定可能SQLデータベースは非常に簡単です。私は今、GUIレイアウトとデータベース接続上でそれらを使用しています。ここで私は、NetBeansからMySQLデータベースに接続方法についていくつかのコードは次のとおりです。

//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

NetBeans wikiには、あなたのプロジェクトにもSQLテーブルをセットアップするのに必要なすべての情報があります! – durrellp

2

、このような問題へのエレガントなアプローチは、ApacheからDDL Utilsを使用しています。あなたの(外部で設定可能な)DDLを実行できるようにする基本的な目的だけでなく、アプリケーションデータベースを独立させることにもなります。

7

Javaコードを介してデータベースを作成するには、executeUpdate(sql)代わりのexecuteQuery(sql);を使用し、ルートとしてmysqlデータベースに接続する必要があります:

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

あなたはこのラインを使用することができます

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

JARファイルを送信できるようにメールアドレスを教えてください。 –

+2

ありがとうございます。しかし、問題は6年前に気づいてください:) – cb0

関連する問題