从Java创建MySQL数据库

30

能否使用Java创建MySQL数据库?

我只看到过像这样的连接URL示例,其中数据库名称在URL中指定:

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

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

如果只有登录名和密码,我该如何创建MySQL数据库?

5个回答

51

在jdbc连接中,数据库并不是必需的,因此您可以像这里这里所推荐的那样操作:

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

7
要通过Java代码创建数据库,必须使用executeUpdate(sql)而不是executeQuery(sql);,并作为root连接到mysql数据库:
connection =  DriverManager.getConnection(
    "jdbc:mysql://localhost:3306/mysql?zeroDateTimeBehavior=convertToNull",
    "root", "root"
);
Statement st = connection.createStatement();
st.executeUpdate(sql);
st.close();

2
这类问题的一个优雅的解决方法是使用 Apache 的 DDL Utils。它不仅可以实现执行(外部可配置的)DDL语句的基本目的,还可以使您的应用程序独立于数据库。

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();
}

请私信我您的电子邮件地址,以便我发送JAR文件。 - Richard Flores
2
谢谢,但请注意这个问题已经是6年前的了 :) - cb0

1
为了让事情更加简单,你可以使用NetBeans 6.5,它能够使设置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);
        }
    }

NetBeans维基百科上有你需要的所有信息,可以帮助你在项目中设置SQL表格! - durrellp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接