3

似乎需要现有数据库才能连接到 groovy 中的数据库服务器。但是,如果我想创建一个新数据库怎么办?连接到 MySQL 时是否可以在 groovy 中创建数据库?如果是这样,怎么做?先感谢您。

4

4 回答 4

5

我认为在这里值得一提的另一个“问题”是 Groovy Sql 类试图防止执行方法的 GString 输入中的 SQL 注入,因此,如果您尝试使用 GString 的插值动态创建 MySQL 数据库, 像这样...

sql.execute("创建数据库 ${someName}")

它会因 MySQLSyntaxErrorException 而失败。我认为这是因为它会在插值变量周围创建单引号(即 CREATE DATBASE 'foo'),这是无效的语法。要修复它,只需在将 GString 传递给 execute() 之前解析它,就像这样......

sql.execute("创建数据库" + "${someName}")

于 2014-01-27T14:49:38.593 回答
4

连接 MySQL 时不需要包含数据库名称。如果您不指定名称,则不会选择任何数据库,您可以通过运行以下命令来创建数据库:

import groovy.sql.Sql
def sql = Sql.newInstance("jdbc:mysql://localhost:3306","root","","com.mysql.jdbc.Driver")
sql.executeUpdate("create database newDB")
于 2013-09-07T22:04:23.113 回答
0

你需要看看GSQL。我还没有完全验证它,但正是你正在寻找的东西。

于 2013-09-06T21:33:32.213 回答
0

您可以通过运行创建数据库

create database foobar

命令。您可以使用 MySQL Server 执行此操作,然后您可以使用该数据库与 groovy 进行连接。至于您的具体问题,我不明白您为什么要连接到无数据库的数据库服务器?为什么要使用 groovy 创建数据库?

于 2013-09-06T21:42:36.363 回答