Możesz doskonale wykorzystać sterownik go-sql. Musisz jednak użyć użytkownika mysql, który ma odpowiednie prawa dostępu do tworzenia nowych baz danych.
Oto przykład:
func create(name string) {
db, err := sql.Open("mysql", "admin:[email protected](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)
}
}
Należy zauważyć, że nazwa bazy danych nie jest podana w parametrach połączenia. Po prostu tworzymy bazę danych po połączeniu (polecenie CREATE DATABASE) i przełączamy połączenie, aby z niego korzystało (polecenie USE).
Uwaga:ludzie z VividCortex prowadzą fajny samouczek bazy danych/sql i dokumentację pod adresem http://go- database-sql.org/index.html