Vous pouvez parfaitement utiliser le pilote go-sql. Cependant, vous devez utiliser un utilisateur mysql disposant des droits d'accès appropriés pour créer de nouvelles bases de données.
Voici un exemple :
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)
}
}
Notez que le nom de la base de données n'est pas fourni dans la chaîne de connexion. Nous créons simplement la base de données après la connexion (commande CREATE DATABASE), et changeons de connexion pour l'utiliser (commande USE).
Remarque :les gars de VividCortex maintiennent un joli tutoriel et une documentation sur la base de données/sql sur http://go- database-sql.org/index.html