当前位置: 首页 > 面试题库 >

如何使用go-sql-driver创建新的MySQL数据库

穆英飙
2023-03-14
问题内容

我正在研究自动克隆数据库的Golang脚本。我正在使用go-sql-
driver,但是在文档中找不到创建新数据库的方法。与MySQL的连接需要以下URL方案:

user:password@tcp(localhost:3306)/database_name

但是该数据库尚不存在,我只想连接到服务器,然后创建一个新的数据库。

我怎样才能做到这一点?我必须使用其他驱动程序吗?


问题答案:

您可以完美地使用go-sql-driver。但是,您需要使用具有适当访问权限的mysql用户来创建新数据库

这是一个例子:

func create(name string) {

   db, err := sql.Open("mysql", "admin:admin@tcp(127.0.0.1:3306)/")
   if err != nil {
       panic(err)
   }
   defer db.Close()

   _,err = db.Exec("CREATE DATABASE "+name)
   if err != nil {
       panic(err)
   }

   _,err = db.Exec("USE "+name)
   if err != nil {
       panic(err)
   }

   _,err = db.Exec("CREATE TABLE example ( id integer, data varchar(32) )")
   if err != nil {
       panic(err)
   }
}

请注意,连接字符串中未提供数据库名称。我们只是在连接后创建数据库(CREATE DATABASE命令),然后切换连接以使用它(USE命令)。

注意:VividCortex团队在http://go-database-sql.org/index.html上维护了不错的数据库/ sql教程和文档。



 类似资料:
  • 问题内容: 作为MySQL的新手,我已经安装了最新版本的MySQL Workbench(5.2.33)。我想知道如何使用此应用程序创建数据库。在SQL编辑器的“概述”选项卡中,几乎没有显示“ MySQL模式”,这些模式是现有数据库吗? 问题答案: 启动MySQL Workbench。 在欢迎窗口的左窗格中,在“打开连接以开始查询”下选择要连接的数据库。 查询窗口将打开。在其左窗格上,有一个标题为“

  • 问题内容: 使用SQLAlchemy,将创建一个Engine对象,如下所示: 如果to参数(在这种情况下为)中指定的数据库不存在,则访问将失败。如果指定的数据库不存在,是否可以告诉SQLAlchemy创建一个新数据库? 问题答案: 在postgres上,通常默认情况下存在三个数据库。如果您能够以超级用户身份(例如,角色)进行连接,则可以连接到或数据库。默认的pg_hba.conf只允许名为unix

  • 问题内容: 我正在App Engine上的Go中使用go-sql-driver / mysql驱动程序来连接到Cloud SQL实例,如下所示: 但是我收到了“ 拒绝许可 ”的信。 当然,我已经根据文档检查了我的应用是否已在Cloud SQL控制台的“访问控制”下得到了授权。我还尝试添加具有特权的MySQL用户,并使用它来代替甚至不指定用户。 我究竟做错了什么? … 更新: 根据@Kyle的建议,

  • Go MySQL Driver 是 MySQL 数据库的 Go 客户端开发包。 示例代码: import "database/sql" import _ "code.google.com/p/go-mysql-driver/mysql" db, e := sql.Open("mysql", "user:password@/dbname?charset=utf8")

  • 问题内容: 当我安装mysql时,它带有两个数据库,即mysql和信息模式。我不小心删除了mysql数据库。有什么办法可以重新创建它? 另外,由于它包含一个包含用户信息的表,如果没有它,我是否可以通过任何方式查看用户信息? 问题答案: 如果您仍然能够登录(由于没有用户表,我不能登录)并且要保存数据库,请使用 可以使用以下命令重新创建MySQL数据库 MySQL文档在这里

  • 问题内容: 我想在不使用旧版SQL的情况下向现有表中添加一列。 基本的SQL语法是: 我格式化了Google BigQuery的查询: 但是,此错误的语法不正确: 那么,如何正确设置Google BigQuery的SQL格式? 问题答案: BigQuery不支持或其他DDL语句,但是您可以考虑提交功能请求。现在,您需要在BigQuery UI中的表中打开,然后使用“添加新字段”按钮添加该列,或者,