连接到MySQL时,是否可以在groovy中创建数据库?如果是这样,怎么样?

时间:2013-09-06 21:20:57

标签: mysql groovy

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

4 个答案:

答案 0 :(得分:5)

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

sql.execute(“CREATE DATABASE $ {someName}”)

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

sql.execute(“CREATE DATABASE”+“$ {someName}”)

答案 1 :(得分:4)

连接MySQL时没有必要包含数据库名称。如果未指定名称,则不会选择数据库,您可以通过运行:

来创建数据库
import groovy.sql.Sql
def sql = Sql.newInstance("jdbc:mysql://localhost:3306","root","","com.mysql.jdbc.Driver")
sql.executeUpdate("create database newDB")

答案 2 :(得分:0)

您需要查看GSQL。我没有完整地验证它,但正是你正在寻找的东西。

答案 3 :(得分:0)

您可以通过运行

来创建数据库
create database foobar

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