如何用Java创建MySQL表?

时间:2014-06-05 20:37:59

标签: java mysql sql

我正在使用Java程序将某些东西记录到MySQL数据库中,如果我想要使用的表不存在,我想要创建一个表。我如何通过Java创建表? (如果需要填写,请说明)。

P.S。在你说这个问题与this问题重复之前,这个问题没有回答我的问题。

2 个答案:

答案 0 :(得分:2)

首先,您需要StringBuilder来创建sql语句。

示例:

StringBuilder sql = new StringBuilder("IF NOT EXISTS (CREATE TABLE REGISTRATION ");
               sql.append("(id INTEGER not NULL, ");
               sql.append(" first VARCHAR(255), "); 
               sql.append(" last VARCHAR(255), "); 
               sql.append(" age INTEGER, ");
               sql.append(" PRIMARY KEY ( id )))");

然后取出StringBuilder并获取连接到数据库

示例:

Class.forName("com.mysql.jdbc.Driver");

System.out.println("Connecting to a selected database...");
Connection conn = DriverManager.getConnection(DB_URL, USER, PASS);
System.out.println("Connected database successfully...");

System.out.println("Creating table in given database...");
Statement stmt = conn.createStatement();

stmt.executeUpdate(sql.toString());

来源:here

答案 1 :(得分:0)

如果您已建立连接,则代码中必须有一个Connection对象。这用于向您的数据库发送查询和更新。

因此,要创建一个表,您必须在常规字符串中构造SQL命令,如下所示:

String sql = "CREATE TABLE tab1 (number1 INTEGER, number2 TINYINT, name CHAR(64))"

现在您必须将其发送到数据库,如下所示:

/*    connection is your Connection object    */
/*    you have to prepare the statement and store it in a PreparedStatement object    */
PreparedStatement stmt = connection.prepareStatement(sql);
/*    this line does the database update    */
stmt.executeUpdate();

就是这样!表格tab1已创建!