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()) } }
簡単ですが、基本的な動作です。