在groovy中,连接到数据库服务器似乎需要一个现有的数据库。但是,如果我想创建一个新的数据库呢?当连接到MySQL时,可以在groovy中创建数据库吗?如果是这样的话,是怎么做的?提前谢谢你。
发布于 2013-09-07 22:04:23
在连接到MySQL时,不需要包含数据库名。如果不指定名称,则不选择数据库,并且可以通过运行以下命令创建数据库:
import groovy.sql.Sql
def sql = Sql.newInstance("jdbc:mysql://localhost:3306","root","","com.mysql.jdbc.Driver")
sql.executeUpdate("create database newDB")发布于 2014-01-27 14:49:38
我认为值得在这里提及的另一个"gotcha“是Groovy类试图防止GString输入到执行方法中的Sql注入,因此,如果您试图使用GString的内插动态创建GString数据库,如下所示.
Sql.execute(“创建数据库${someName}")
如果使用MySQLSyntaxErrorException,它将失败。我认为这是因为它将在插值变量(即创建DATBASE 'foo')周围创建单引号,这是无效的语法。要修复它,只需在将GString传递给执行()之前先解析它,如下所示.
Sql.execute(“创建数据库”+ "${someName}")
发布于 2013-09-06 21:33:32
您需要看看GSQL。我还没有完全验证它,但这正是你正在寻找的东西。
https://stackoverflow.com/questions/18666769
复制相似问题