LoginSignup
0
0

More than 3 years have passed since last update.

Golang mysql CREATE DATABASE IF NOT EXISTS

Last updated at Posted at 2020-11-16

こんにちは!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を使っていきたいと思ってます!
ご指摘あればぜひお願いします!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0