Go言語 – 18.MySQLへの接続
MySQLへの接続
MySQLを使用するということで、
接続用のパッケージがあります。
今回は、「github.com/go-sql-driver/mysql」を使用してDBへの接続を試みます。
接続方法
package main
import (
"database/sql"
_ "github.com/go-sql-driver/mysql"
)
func main() {
db, err := sql.Open("mysql", "ユーザ:パスワード@/DB名")
if err != nil {
panic(err.Error())
}
defer db.Close()
}
これだけで接続ができます。
Select
次は基本的なSelect文の発行を行います。
rows, err := db.Query("SELECT * FROM talbe") //
if err != nil {
panic(err.Error())
}
for rows.Next() {
var item1 string
var item2 string
// カラム値の取得
err := rows.Scan( &item1 , &item2 )
if err != nil {
panic(err)
}
// 取得結果
fmt.Printf( &item1 , &item2 )
}
Insert
検出ができれば、Insert、Delete、Updateです。
DML文の使用方法は、基本同じなので、Insert文でサンプルを作ります。
// insert
rows, err := db.Prepare("INSERT INTO talbe(item1, item2) VALUES(?,?)")
if err != nil {
log.Fatal(err)
}
rows.Exec("システム", "トラスト")
// エラー処理
if err != nil {
if mysqlErr, ok := err.(*mysql.MySQLError); ok {
log.Printf("Number: %d", mysqlErr.Number)
log.Printf("Message: %s", mysqlErr.Message)
log.Printf("Error(): %s", mysqlErr.Error())
}
}
簡単ですが、基本的な動作です。








