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