こんにちは!Golang 勉強中です!
今回はDB作成〜接続を行なっていきます!
DB接続の方法はすぐに見つかりましたが、DB作成は手動でしている記事が多い印象でした。
直接Mysqlから実行ではなく、GOからオートマチックに操作したかったので方法を調べてみました。
package main
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
// DbConnection grobal
var DbConnection *sql.DB
func checkDb() {
DbConnection, err := sql.Open("mysql", "root:@tcp(127.0.0.1:3306)/")
if err != nil {
panic(err)
}
defer DbConnection.Close()
_, err = DbConnection.Exec("CREATE DATABASE IF NOT EXISTS db_name")
if err != nil {
panic(err)
}
DbConnection.Close()
return
}
func main() {
checkDb()
}
packageがimportできてないとエラーが出るので適宜importしてください!
以下解説
こちらのコードでmysqlと接続しています
"root:@tcp(127.0.0.1:3306)/"
root ユーザー名
:以降 パスワード (今回はルートユーザーなのでパスワードなしです)
@以降 プロトコル
mysqlと接続後にこちらのコードでDBの存在チェックと作成を行います。
DbConnection.Exec("CREATE DATABASE IF NOT EXISTS db_name")
関数を呼び出して実行します。
func main() {
checkDb()
}
以上です!
DBの操作はORMを使っていきたいと思ってます!
ご指摘あればぜひお願いします!