我正在使用Java程序将某些东西记录到MySQL数据库中,如果我想要使用的表不存在,我想要创建一个表。我如何通过Java创建表? (如果需要填写,请说明)。
P.S。在你说这个问题与this问题重复之前,这个问题没有回答我的问题。
答案 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已创建!