使用java时如何在MySQL中创建表

时间:2013-12-18 18:07:07

标签: java mysql

我正在尝试通过java在mysql中创建一个表。顺便说一下,我正在使用腻子。这是我到目前为止的一些代码,但它不起作用。

rs=s.executeQuery("CREATE TABLE test(id CHAR(2),name VARCHAR(3),PRIMARY KEY(id)); ");
while(rs.next())
{
  System.out.println(rs.getString(1));
}
catch (SQLException ex)
{
  System.out.println("SQLException:"+ ex.getMessage());
}

4 个答案:

答案 0 :(得分:1)

executeQuery()适用于返回SELECT的quires(通常为ResultSet)。

使用DML(和DDL)次查询,您需要使用executeUpdate()方法。

有关更多信息和示例,请使用Setting Up Tables教程。

答案 1 :(得分:0)

在此处查看此帖:Data Manipulation Statements

如果您希望实际修改数据库,则应该使用executeUpdate()

答案 2 :(得分:0)

你的查询还可以!但是你没有得到结果集! CREATE TABLE不会提供行或列。 你被欺骗了文件:

  

返回:       包含给定查询生成的数据的ResultSet对象;永远不会

然而

  

抛出:       SQLException - 如果发生数据库访问错误,...给定的SQL语句生成除单个ResultSet对象以外的任何内容,...

在我看来,“执行”的召唤将是正确的方式。

答案 3 :(得分:0)

我认为通过Java生成数据库模式并不是一个好主意。使用数据库附带的实用工具来创建架构。这样,您或任何人(例如DBA)可以创建表,视图,索引,约束,授予权限等,而无需了解Java。您甚至可以让数据库实用程序生成一个SQL脚本,您可以运行该脚本从头开始重新生成模式。最后一点:我相信你最好调用你的主键test_id并使其类型为numberic,long或int。这样,当你将它作为另一个表中的外键引用时,你会立即知道它引用回测试表。