Puoi usare perfettamente il driver go-sql. Tuttavia, è necessario utilizzare un utente mysql che disponga dei diritti di accesso appropriati per creare nuovi database.
Ecco un esempio:
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)
}
}
Si noti che il nome del database non è fornito nella stringa di connessione. Creiamo semplicemente il database dopo la connessione (comando CREATE DATABASE) e cambiamo la connessione per usarlo (comando USE).
Nota:i ragazzi di VividCortex mantengono un bel tutorial e documentazione su database/sql su http://go- database-sql.org/index.html